Initializing... drag & drop files here
Supports: HEIC
FLV is the Flash Video container, and the fact that you are here usually means something specific still wants one — an RTMP ingest point, an old media server, a learning-management system, or an archive that indexes .flv and nothing else. This tutorial takes an iPhone HEIC photo and turns it into a short silent FLV clip, and it is honest about the one setting that decides whether the result looks like your photo or like a 2006 webcam: the codec.
.heic files onto the page or click "Add Files". Multiple photos can be queued, and Merge strategy decides whether they become one clip or one clip each..flv. Files are uploaded over an encrypted connection, processed on our servers and deleted automatically after a few hours — no sign-up, no watermark.Four encoders can go inside an FLV, and they behave very differently when the source is a still photograph rather than a video. The reason is simple: the Quality Preset under File Compression works by scaling a bitrate target derived from the source, and a photo has no bitrate to scale. Only H.264 offers a true constant-quality mode that does not need one.
| Video Codec | Rate control with a photo source | Result |
|---|---|---|
| FLV (Sorenson Spark, the starting selection) | No constant-quality mode, and a still photo supplies no source bitrate to scale, so the rate control we pass collapses to our 48 kbit/s floor | Small file, visibly blocky picture |
| H.264 | True constant-quality encode; the Quality Preset maps to a real target | The recommended choice — sharp picture, sane file size |
| Flash Video (v2) | Lossless screen codec; rate-control flags are ignored entirely | Pixel-perfect but very large files |
| Flash Video | The older lossless screen codec, same behaviour | Pixel-perfect, larger still, poorer player support |
H.264 has been legal inside FLV since Flash Player 9 Update 3 in 2007, so any player or server that handles modern FLV files will take it. Reach for Flash Video (v2) only when you need an exactly lossless frame and file size does not matter — it is a screen-capture codec, so a photograph makes it work hard.
The rest of the pipeline is fixed for still-photo sources, and it is worth knowing what it does before you go looking for controls that are not there:
| Behaviour | What our encoder does |
|---|---|
| Clip length | The Image Duration you choose, 5 seconds by default |
| Frame rate | 1 frame per second, with B-frames disabled — every frame is identical, so more would be wasted bytes |
| Audio | None at all; the Audio Codec control is hidden because a photo has no sound to carry |
| Transparency and letterboxing | Flattened and padded with the Background Color, White by default, chosen from a palette of named colours |
| Maximum size | Images are normalised to at most 4096 pixels on the long edge before encoding |
FLV is a legacy target and there is no way around that. If the only reason you picked it was "I need a video from this photo", stop here and use HEIC to MP4 instead: same H.264 video, a container everything on earth plays, and a file you can actually share. FLV earns its place only when the receiving system names it. If you already have .flv material that needs rescuing from the Flash era, FLV to MP4 converts it forward.
Because FLV is a video container and video needs a duration. The still image is looped for the length set under Image Duration — five seconds unless you change it — and encoded at one frame per second, with B-frames switched off since every frame is identical. That keeps the file small while still producing a clip that seeks normally. The Duration dropdown goes down to a single frame and up to ten seconds per photo.
H.264, in almost every case. It is the only encoder in the list with a constant-quality mode, which means the Quality Preset under File Compression genuinely controls the output when a still photo is the source. The original FLV codec has no such mode; with a still photo there is no source bitrate to scale from, so the rate control we pass collapses to our 48 kbit/s floor and the picture suffers badly. The two Flash Video screen codecs go the other way and encode losslessly, ignoring the quality settings entirely.
No. A photo has no audio, and rather than muxing a silent track our encoder skips the audio stage completely for image sources — which is why the Audio Codec control never appears on this page. If the system you are uploading to insists on an audio stream, add a silent one in a video editor after downloading, or use a format where that is easier to arrange.
Yes. Upload them together and leave Merge strategy on "Merge images": each photo is held for the Image Duration and the clips are joined into a single FLV slideshow. Choose "Video per image" instead and you get one FLV per photo. Photos with different shapes are scaled to fit a common frame and padded with the Background Color, so nothing is cropped away.
On the desktop, yes — VLC, mpv and ffmpeg all decode FLV without complaint, and most desktop editors will import one. What has gone is browser playback: Adobe ended Flash Player support at the end of 2020, and no current browser has a plug-in that can render Flash Video inline. That is why FLV today survives mainly as a server-side ingest and archive format rather than a delivery format.
Chiefly because of RTMP. The streaming protocol that carried live video for well over a decade uses FLV as its wire format, so ingest endpoints, older media servers and various recording tools still speak it fluently. Long-lived content libraries also hold a lot of .flv assets that were never migrated. Neither of those is a reason to choose FLV for new delivery — but both are reasons the format refuses to die.
Keep original is the default and works well with H.264. If the destination is a legacy player, dropping to something modest under Preset Resolutions or Fixed Resolutions will be kinder to it, and the file will be smaller. Bear in mind that every image is capped at 4096 pixels on the long edge before encoding: an ordinary 12-megapixel iPhone photo is 4032 pixels wide and passes through untouched, while a 48-megapixel capture at 8064 pixels is scaled down on the way in.
Not from the photo alone. An ordinary iPhone .heic is a single still image. If the file is a genuine ISO-BMFF image sequence with its own movie track we detect that and encode the sequence, but a Live Photo's motion normally lives in a separate .MOV that iOS exports alongside the photo. If you want the movement, convert that .MOV rather than the .heic.
They are uploaded over an encrypted connection, converted on our servers and deleted automatically after a few hours, along with the FLV files produced from them. Nothing is published or shared, there is no sign-up, and the output has no watermark.