Convert FLV to AVI — Free Online Tool
Convert FLV (Flash Video) files to AVI format using H.264 video and MP3 audio encoding, right in your browser. This is ideal for rescuing legacy Flash content from Adobe's deprecated ecosystem and repackaging it into a widely compatible container that works with classic media players and video editing software.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
FLV files typically carry H.264 video and AAC audio streams. During this conversion, the H.264 video stream is re-encoded using the libx264 encoder (with CRF 23 for balanced quality), and the AAC audio is transcoded to MP3 via the LAME encoder — a necessary step since AVI's most universally supported audio codec is MP3, not AAC. The resulting AVI container uses Microsoft's Audio Video Interleave structure, which interleaves audio and video data in a way that older Windows-based software and hardware players expect. Because both video and audio are being re-encoded (not just remuxed), this process is more CPU-intensive than a simple container swap, but it produces an AVI file with broad compatibility.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. In the browser tool this runs via FFmpeg.wasm (WebAssembly), while on your desktop it calls your locally installed FFmpeg executable — the command and its output are identical in both environments. |
-i input.flv
|
Specifies the input Flash Video file. FFmpeg reads the FLV container and demuxes it into its component H.264 video and AAC (or MP3) audio streams for processing. |
-c:v libx264
|
Re-encodes the video stream using the libx264 H.264 encoder. Even though FLV commonly contains H.264 video, a direct stream copy into AVI can cause compatibility issues with some players, so explicit re-encoding with libx264 ensures a clean, broadly compatible H.264 track inside the AVI container. |
-c:a libmp3lame
|
Transcodes the audio to MP3 using the LAME encoder. This replaces the FLV's typical AAC audio track with MP3, which is the most reliably supported audio codec inside AVI files across Windows media players, legacy hardware, and editing applications. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 video encode to 23, which is the libx264 default and a good balance between visual quality and file size. Lower values (e.g., 18) produce higher quality at the cost of a larger AVI file. |
-b:a 128k
|
Sets the MP3 audio bitrate to 128 kilobits per second. For typical FLV content such as web videos or tutorials, 128k MP3 provides acceptable audio quality; for music-heavy content or high-fidelity sources, increasing this to 192k or 320k is recommended. |
output.avi
|
Defines the output filename and tells FFmpeg to write the result as an AVI container. FFmpeg infers the AVI format from the .avi extension and structures the interleaved audio and video data accordingly. |
Common Use Cases
- Recovering old Flash-era video tutorials or course recordings saved as FLV files and importing them into legacy video editing software like older versions of Vegas Pro or Premiere that read AVI natively
- Archiving FLV video content from defunct Flash-based websites into a more durable container format before the original source disappears
- Preparing Flash recordings for playback on older Windows Media Player installations or embedded Windows CE / XP-era devices that do not support FLV
- Converting FLV game recordings or screencasts captured by older software (e.g., Bandicam, older Fraps builds) into AVI for compatibility with classic video analysis or annotation tools
- Handing off FLV footage to a client or collaborator whose editing workflow is built around AVI-based pipelines, such as certain broadcast or DVD-authoring toolchains
- Batch-archiving a collection of FLV files downloaded from legacy platforms like pre-2010 YouTube or Myspace Video into a format that remains readable without Flash-specific codecs
Frequently Asked Questions
Yes, some quality loss is expected because both the video and audio streams are being re-encoded rather than copied. The H.264 video is re-compressed at CRF 23, which is a visually good default but still lossy, and the AAC audio from the FLV is transcoded to MP3 at 128k. If your source FLV was already heavily compressed (common with older streaming FLV files), the cumulative degradation may be more noticeable. For the highest fidelity, lower the CRF value (e.g., CRF 18) and increase the audio bitrate (e.g., 192k or 320k) before converting.
While AVI technically can store AAC audio, support for it in real-world players is inconsistent and unreliable — many classic Windows applications, hardware DVD players, and older editing tools expect MP3 audio inside an AVI container. MP3 via the LAME encoder (libmp3lame) is the de facto standard for AVI audio and guarantees the broadest compatibility. The trade-off is a slight quality difference at the same bitrate compared to AAC, but at 128k and above the difference is minimal for most content.
No. FLV was purpose-built for HTTP progressive streaming and includes metadata structures (like the onMetaData event and keyframe index tables) optimized for seeking in a streaming context. AVI uses a fixed index (IDX1 or OpenDML for large files) that is suited for local playback but not for adaptive or progressive HTTP streaming. If your goal is web delivery, AVI is a step backward — it is best suited for local archival or use with desktop software.
Files over 1GB cannot be processed in the browser tool due to memory constraints of the WebAssembly environment. For large FLV files, copy the FFmpeg command shown on this page — 'ffmpeg -i input.flv -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k output.avi' — and run it directly in a terminal on your computer with FFmpeg installed. This processes the file natively with no size limit.
Change the '-crf 23' value to control video quality. CRF (Constant Rate Factor) works on a scale where lower numbers mean higher quality and larger file sizes. CRF 18 is considered visually near-lossless for H.264, while CRF 28 produces smaller files with more visible compression. For archiving valuable FLV content where file size is not a concern, 'ffmpeg -i input.flv -c:v libx264 -c:a libmp3lame -crf 18 -b:a 192k output.avi' is a good high-quality starting point.
Yes. On Linux or macOS, use a shell loop: 'for f in *.flv; do ffmpeg -i "$f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "${f%.flv}.avi"; done'. On Windows Command Prompt, use: 'for %f in (*.flv) do ffmpeg -i "%f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "%~nf.avi"'. This applies the same encoding settings to every FLV file in the current directory and names each output after its source file.
Technical Notes
FLV is a container specifically tied to Adobe Flash Player, which reached end-of-life in December 2020, making FLV-to-AVI conversion a common archival task. The FLV container supports only a single video and a single audio track, which maps cleanly to AVI's structure — though AVI does support multiple audio tracks, this conversion will produce a single-track output since the source is limited to one. One important limitation to be aware of is the AVI 2GB file size ceiling on FAT32 filesystems; for lengthy or high-bitrate output files, ensure your destination drive is formatted as NTFS, exFAT, or a Unix filesystem. Metadata from the FLV (such as author, title, or duration hints stored in the onMetaData object) is not preserved in the AVI output, as AVI's metadata capabilities are minimal compared to FLV or modern containers like MKV or MP4. If your FLV source uses the older Sorenson Spark (FLV1) video codec rather than H.264, libx264 will still re-encode it correctly, but expect the quality gap between source and output to be more apparent since Sorenson Spark sources tend to be lower fidelity to begin with.