Convert MP4 to GIF Online
Make a shareable animated GIF from a video clip. The tool runs two FFmpeg passes — the first builds an optimized 256-color palette from your actual footage, the second applies it — which looks visibly better than a one-pass conversion. Trim your video first: GIFs of long clips get enormous.
or drag and drop a .mp4 / .m4v file here — up to 100 MB
This tool runs the open-source FFmpeg engine in your browser. First use downloads it once (a 32 MB file, roughly 10 MB compressed in transit); after that it loads from your browser cache. Your files are never uploaded. The engine is ffmpeg.wasm, distributed unmodified under the GPL-2.0-or-later.
Processed on your device — files are never uploaded to Filesvo.
MP4 to GIF with FFmpeg — The one-line command bands your colours. Here is the two-pass fix, and what it measures.
How to use Filesvo
- Select or drop an MP4 video — short clips work best.
- Pick a frame rate and width; 10 fps at 480 px suits most clips.
- Click Create GIF (two passes run automatically) and download.
About video-to-GIF conversion
GIF is a 1989 format limited to 256 colors per frame with no real video compression, so a GIF is always much larger than the MP4 it came from — often 10× or more. That's a property of the format, not of this tool, and the honest fix is lowering the frame rate, the width, or the clip length.
The two-pass palette method is the same technique professionals use: pass one scans every frame to build the best 256-color palette for your specific footage; pass two maps each frame to that palette with dithering. It avoids the banding and color shifts of naive converters.
The FFmpeg command this runs
This tool is FFmpeg itself, compiled to WebAssembly and running in your browser. Below is the command it builds with the options set as they arrive — generated from the same code that performs the conversion, not written out by hand, so it cannot drift out of date. Paste it into a terminal with FFmpeg installed and it does the same job there.
ffmpeg -y -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.pngffmpeg -y -i input.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gifTwo passes, run in order. The first writes an intermediate file that the second reads.
What each option on the tool changes in that command:
- Frame rate
5 fps — smallest —
-vf "fps=5,scale=480:-1:flags=lanczos,palettegen" -filter_complex "fps=5,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse"10 fps — recommended —
-vf "fps=10,scale=480:-1:flags=lanczos,palettegen" -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse"15 fps — smoothest —
-vf "fps=15,scale=480:-1:flags=lanczos,palettegen" -filter_complex "fps=15,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse"- Width
320 px —
-vf "fps=10,scale=320:-1:flags=lanczos,palettegen" -filter_complex "fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse"480 px —
-vf "fps=10,scale=480:-1:flags=lanczos,palettegen" -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse"640 px —
-vf "fps=10,scale=640:-1:flags=lanczos,palettegen" -filter_complex "fps=10,scale=640:-1:flags=lanczos[x];[x][1:v]paletteuse"
The input and output names are placeholders. Your own filenames are used inside the browser, and neither file leaves your device.
Private by design
Your files are processed directly in your browser using the open-source FFmpeg engine compiled to WebAssembly and are not uploaded to Filesvo. Nothing is stored on our servers, because nothing ever reaches them.
The engine is a static file your browser downloads once and then caches — the only network request this tool makes. It is used exactly as its authors published it; see the engines and their licences.
Frequently asked questions
- Why is my GIF bigger than the video?
- GIF stores each frame with lossless 256-color compression and has no motion compression at all, so it is dramatically less efficient than H.264 video. Expect the GIF to be several times the MP4's size — reduce frames per second, width or duration to shrink it.
- Can I convert just part of the video?
- Trim the clip first with the Video Trimmer tool, then convert the trimmed file here. Keeping GIFs under about 10 seconds is the practical sweet spot.
- Are my files uploaded?
- No. The first time you use an audio/video tool, your browser downloads the open-source FFmpeg engine — a 32 MB file, roughly 10 MB once your connection compresses it — as a static file, and that is the only network traffic. Your media files are then processed entirely on your device and never reach a Filesvo server.
- Does this work on phones?
- Yes on recent devices, with limits: the engine is a 32 MB file (roughly 10 MB compressed in transit), and phones have less memory available to the browser, so large videos can fail on mobile. If a file fails on your phone, try a smaller file or a desktop browser. The 100 MB per-file limit applies everywhere.
Related Filesvo tools
GIF to MP4
Convert animated GIFs into small, smooth MP4 videos that autoplay everywhere and are usually dramatically smaller.
Video Trimmer
Cut a clip out of a video with a live preview — frame-exact re-encode or instant lossless keyframe copy.
Compress Video
Shrink MP4, MOV and WebM videos with a quality you choose, plus an optional 720p cap — with honest before/after sizes.