Convert FLV to MOV — Free Online Tool

Convert FLV files to MOV format using libx264 video and AAC audio encoding, transforming legacy Flash Video content into Apple's QuickTime container — ideal for importing old web video archives into Final Cut Pro or other professional editing workflows.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

FLV (Flash Video) typically stores video using either the older FLV codec or H.264 (libx264), and audio in MP3 or AAC. During conversion to MOV, this tool re-encodes the video stream using libx264 with a CRF of 23 and transcodes audio to AAC at 128k bitrate, wrapping everything in Apple's QuickTime MOV container. Because FLV does not support chapters, multiple audio tracks, or subtitle streams, this conversion is purely a video and audio transcode — no metadata structures are migrated. The -movflags +faststart flag repositions the MOV metadata atom to the beginning of the file, enabling progressive playback if the output is later served over a network.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that performs all decoding, encoding, and container muxing operations for this FLV to MOV conversion.
-i input.flv Specifies the input Flash Video file. FFmpeg will detect the FLV container and probe the internal video codec (Sorenson Spark, VP6, or H.264) and audio codec (MP3 or AAC) to determine how to decode the source streams.
-c:v libx264 Re-encodes the video stream using the H.264 codec via libx264, ensuring the output MOV is compatible with Final Cut Pro, QuickTime Player, and virtually all modern Apple devices — regardless of whether the original FLV used an older codec like VP6.
-c:a aac Transcodes the audio stream to AAC using FFmpeg's native AAC encoder, which is the standard audio codec for MOV files used in Apple ecosystems and fully compatible with QuickTime-based editing workflows.
-crf 23 Sets the Constant Rate Factor for libx264 to 23, the default quality level that balances file size and visual fidelity. Lower values like 18 produce higher quality output from the FLV source; higher values like 28 reduce file size at the cost of more visible compression.
-b:a 128k Targets an AAC audio bitrate of 128 kilobits per second, which is appropriate for typical FLV web video audio. If the source FLV contained higher-quality audio (e.g., from a recorded broadcast), increasing this to 192k or 256k will better preserve the original fidelity.
-movflags +faststart Moves the MOV container's moov metadata atom to the beginning of the output file after encoding completes. This is a standard best practice for MOV files that may be streamed or progressively downloaded over HTTP, and has no negative effect on locally edited files.
output.mov Defines the output filename and signals FFmpeg to wrap the encoded H.264 video and AAC audio streams into an Apple QuickTime MOV container, replacing the original FLV structure with one compatible with macOS, iOS, and professional editing applications.

Common Use Cases

  • Importing archived Flash-era website video content into Final Cut Pro or DaVinci Resolve, which natively prefer MOV containers over FLV
  • Recovering old screen recordings or tutorials saved as FLV from early-2000s e-learning platforms for re-editing and republishing
  • Converting FLV video downloads from legacy Flash-based streaming sites into a format playable on modern macOS and iOS devices without additional plugins
  • Preparing FLV conference recordings or webinar captures for integration into Apple-centric post-production pipelines that expect ProRes or H.264 in MOV wrappers
  • Migrating a library of FLV game capture files from older recording software into MOV for timeline editing in QuickTime-compatible NLEs
  • Transcoding FLV files exported by older Adobe Flash authoring tools into a container that supports chapter markers and multiple audio tracks for enhanced distribution

Frequently Asked Questions

Yes, some generation loss is expected because both the video and audio streams are re-encoded rather than copied. The default CRF 23 setting for libx264 produces visually good quality for most content, but if the source FLV was already heavily compressed — as many web-delivery Flash videos were — re-encoding can introduce additional artifacts. For archival purposes, consider lowering the CRF value (e.g., to 18) to retain more detail from the original FLV source.
Stream copying (using -c:v copy) is technically possible if the FLV already contains an H.264 video stream, since MOV also supports libx264. However, FLV files sometimes use the older Sorenson Spark or VP6 codecs, which are not natively supported inside a MOV container. Re-encoding with libx264 guarantees compatibility regardless of the original FLV codec. If you know your FLV contains H.264, you can modify the command to -c:v copy to skip re-encoding and preserve the original video quality exactly.
MOV as a container supports chapters, multiple audio tracks, subtitles, and transparency — none of which FLV supports. However, because the source FLV cannot carry this data, the converted MOV file will not automatically gain these features. You would need to add chapters or additional audio tracks manually after conversion using tools like FFmpeg or a video editor. The conversion does unlock the container's capability for future use.
FLV metadata is stored in a proprietary onMetaData event structure that is not directly compatible with the MOV container's atom-based metadata system. FFmpeg makes a best-effort attempt to map common tags such as title and author to QuickTime-compatible metadata atoms, but specialized or non-standard FLV metadata fields may be lost during conversion. If preserving metadata is critical, inspect the source FLV's metadata with ffprobe before converting and manually re-add important tags using the -metadata flag in the FFmpeg command.
Change the -crf value in the command to control video quality. The CRF scale for libx264 runs from 0 (lossless) to 51 (worst quality), with 23 as the default. For higher quality output from your FLV source, try -crf 18; for a smaller file size where quality is less critical, try -crf 28. Similarly, you can change -b:a 128k to -b:a 192k or -b:a 320k to improve audio fidelity, which is especially worthwhile if the original FLV contained high-bitrate audio.
Yes. On macOS or Linux, you can use a shell loop: for f in *.flv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.flv}.mov"; done. On Windows Command Prompt, use: for %f in (*.flv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.mov". This is particularly useful when migrating a large archive of FLV content from an old Flash-based media library.

Technical Notes

FLV is a legacy container format tightly coupled to Adobe Flash Player, which reached end-of-life in December 2020 — making conversion to MOV an increasingly common archival task. The FLV container has limited codec support: video is typically Sorenson Spark (FLV1), VP6, or H.264; audio is typically MP3 or AAC. MOV, by contrast, supports a broad codec ecosystem including libx265, ProRes, VP9, FLAC, and Opus. This conversion uses libx264 and AAC as a safe, widely compatible baseline, but if your destination is a high-end editing suite, you may prefer to target a lossless or near-lossless codec like PNG or FLAC within the MOV container by modifying the codec flags. Note that FLV does not carry transparency, subtitle, or chapter data, so none of those MOV capabilities will be populated from an FLV source. The -movflags +faststart post-processes the output file to move the moov atom to the file header — this is a no-op for local editing but becomes relevant if the resulting MOV is ever served via HTTP progressive download. File sizes will generally be similar to or slightly smaller than the source FLV at CRF 23, though this varies significantly depending on the original FLV encoding bitrate.

Related Tools