How to Convert FLV to MP4 — Rescue Your Flash-Era Videos
Adobe Flash Player was officially killed on December 31, 2020. Every browser removed Flash support in January 2021. If you have FLV files — Flash Video — they will not play in any modern browser, on any phone, or on most media players. The era of Flash video is over.
The good news: the video inside most FLV files is perfectly fine. YouTube switched to H.264 inside FLV containers around 2008. Most FLV files you'll encounter are just H.264 video in an outdated wrapper. Converting is an instant remux — copy the video out of the FLV box and into an MP4 box. Zero quality loss, zero re-encoding.
Convert FLV to MP4 — Free, No Upload
Browser-based FLV to MP4 converter. Your files never leave your device.
Why FLV Files Stop Playing — What's Really Happening
Flash Player's death wasn't a gradual fade. Adobe set a hard date — December 31, 2020 — and every major browser followed through in January 2021. Chrome, Firefox, Edge, and Safari all removed Flash plugin support within weeks of each other. There was no grace period, no fallback mode. If a page relied on Flash to play video, it just broke.
What makes this particularly frustrating is that the actual video content is completely intact. The FLV file on your hard drive isn't corrupted or degraded. It's just wrapped in a container that nothing modern will open. Think of it like a perfectly good cassette tape in a world where every tape deck was thrown away on the same day.
FLV files still turn up in some specific places that often surprise people. Older surveillance and security DVR systems — particularly units manufactured between 2008 and 2016 — export footage in FLV. If you've ever tried to review old security camera recordings and found files you can't open, that's why. Streaming archives are another common source: sites that ripped YouTube or Twitch content before those platforms moved to different formats often saved files in FLV. Corporate training libraries, archived webinar recordings, and old e-learning platforms are similarly full of them.
The converter pages and plugins that used to handle FLV playback directly in browsers are gone too. VLC still plays FLV, which is how many people realize their files are actually fine — the problem is the container, not the content.
What's Inside Your FLV File
FLV (Flash Video) is a container format. The video codec inside has changed over FLV's history:
| Era | Video Codec | Conversion | Quality |
|---|---|---|---|
| 2005–2008 (early YouTube) | Sorenson Spark (H.263) | Re-encode required | One generation loss |
| 2006–2010 | VP6 (On2 Technologies) | Re-encode required | One generation loss |
| 2008–2020 (most FLV) | H.264 (AVC) | Instant remux | Zero quality loss |
Check your file: ffprobe input.flv — look for h264, vp6, or flv1 in the video stream section.
Method 1: FFmpeg — Instant Remux
# For modern FLV with H.264 inside — instant, lossless ffmpeg -i input.flv -c:v copy -c:a copy output.mp4 # If audio is MP3 (some FLV use MP3, not compatible in all MP4 players) ffmpeg -i input.flv -c:v copy -c:a aac -b:a 192k output.mp4 # For old FLV with VP6 or Sorenson — must re-encode ffmpeg -i input.flv -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4 # Fix audio sync issues (adds -async flag) ffmpeg -i input.flv -async 1 -c:v copy -c:a aac -b:a 192k output.mp4 # Batch convert all FLV files for f in *.flv; do ffmpeg -i "$f" -c:v copy -c:a aac "${f%.flv}.mp4"; done
Method 2: Convertlo Browser Tool
- Open convertlo.pro/flv-to-mp4.html.
- Drop your FLV file or click Browse.
- Wait for conversion (instant for H.264 FLV, slower for VP6/Sorenson).
- Download the MP4.
All processing runs in your browser via FFmpeg.wasm. No upload to any server.
Recovering Large Flash Video Archives
If you have hundreds of FLV files — old website video libraries, screen capture archives, downloaded lecture videos — batch conversion is the right approach. The FFmpeg loop above handles this. For very large archives:
- Run
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1 input.flvon a sample file first to confirm the codec - If H.264: expect ~30 seconds per GB converted (stream copy is near-instant)
- If VP6/Sorenson: expect 5–15 minutes per hour of video for H.264 re-encode
- Use
-preset veryfastto maximize throughput at the cost of slightly larger files
Quality Expectations: What Survives the Conversion
The answer depends almost entirely on which codec is inside your FLV. Run ffprobe input.flv before you do anything else — it tells you everything you need to know in about two seconds.
If you see h264 in the video stream output, you're in the best possible situation. The H.264 data gets copied byte-for-byte into the MP4 container. Nothing is decoded, nothing is re-encoded. The output MP4 is mathematically identical to the video that was inside the FLV. Bitrate, resolution, grain, compression artifacts — everything carries over exactly. The only thing that changes is the wrapper.
VP6 and Sorenson Spark (also called flv1 in ffprobe output) are a different story. Both require a full transcode to H.264. That means your video goes through a decode-then-encode cycle, which introduces one generation of lossy compression. How visible that is depends on the source quality. A VP6 FLV at 800kbps being re-encoded at CRF 18 will look very close to the original — the quality headroom is there. A heavily compressed 200kbps Sorenson Spark file from 2006 won't have much to preserve regardless of what encoding settings you use.
The practical rule: use CRF 18 for archival re-encodes, CRF 23 if you just need something watchable and want smaller files. Lower CRF numbers mean higher quality and larger files. CRF 18 is generally considered visually lossless for typical content.
Audio quality follows a similar pattern. FLV files from the H.264 era almost always carry AAC audio, which copies cleanly into MP4. Older files often use MP3 audio inside the FLV container, which is technically valid in MP4 but causes playback compatibility issues on some devices — re-encoding to AAC at 192k is the safer move and costs almost nothing in quality. The unusual cases — Nellymoser or Speex audio codecs — need transcoding and can cause silent audio if a converter doesn't support them. More on that in the FAQ below.
Frequently Asked Questions
Is FLV to MP4 conversion lossless?
Why can't I play FLV files anymore?
What codec is inside most FLV files?
ffprobe input.flv to check yours.Can I convert FLV to MP4 without losing audio sync?
-async 1 to the command, which corrects minor audio-video timestamp drift that some old FLV files have.How do I batch convert hundreds of FLV files to MP4?
for f in *.flv; do ffmpeg -i "$f" -c:v copy -c:a aac "${f%.flv}.mp4"; done. This remuxes each file instantly (if H.264 inside). On Windows use a .bat file with a similar for loop.My FLV file has no sound after converting to MP4 — why?
ffprobe input.flv to check the audio codec name. If you see nellymoser or speex, you need FFmpeg compiled with those decoders enabled. Try: ffmpeg -i input.flv -c:v copy -c:a libmp3lame -b:a 192k output.mp4 and check whether audio comes through.