Video to GIF — free, private, in your browser
Convert a video to an animated GIF in your browser. Nothing is uploaded — the file stays on your machine.
Quick answers
What localgif.app does — and when to use it
Short version: pick a video, trim to the exact moment, start around 15 FPS and 480 px wide, and download the GIF. Nothing is uploaded, and if the destination supports MP4 or WebM, video is usually the smaller choice.
What the tool does
localgif.app converts video files into animated GIFs entirely in the browser using FFmpeg.wasm. MP4, MOV, WebM, MKV, M4V and AVI are the main formats supported here.
Private by default
Your source file stays on your device. There is no sign-up, no watermark, and no upload step. After the app finishes loading, conversion still works without a network connection.
Supported inputs and best-fit use
Use it for short clips, screen recordings, reaction moments, product demos, and README animations. If you need audio or the destination already accepts video, keep it as MP4 or WebM instead.
When GIF is the wrong output
GIF is easy to embed and autoplay, but it is much larger than video. For long clips, detailed recordings, or anything with audio, use video when the app, doc site, or chat tool allows it.
Need a smaller file? Read how to reduce GIF file size or how to pick the right FPS.
Pick a video
Drop a video here, or click to choose.
.mp4 · .mov · .webm · .mkv · .m4v · .avi
How it works
- Pick a video. Drag one in or click the dropzone. MP4, MOV, WebM, MKV, M4V and AVI all work.
- Trim. Drag the two handles on the range slider to pick the exact clip you want. Only the trimmed portion is converted, which keeps things fast.
- Tune the output. Choose FPS and width, and pick Better (2-pass, custom palette) or Smaller (1-pass, default palette).
- Convert and download. The GIF is built in your browser and handed to you as a download — no server round-trip.
Under the hood this runs FFmpeg.wasm — the real FFmpeg compiled to WebAssembly — directly inside the page.
Why in-browser?
Most video-to-GIF tools ask you to upload your clip to a server you know nothing about. For anything sensitive — internal screen recordings, private moments, early product demos — that's a lot of trust for a free tool.
localgif.app never uploads your file. FFmpeg runs as WebAssembly inside the page, reads the file through the browser's file API, and writes the GIF straight back to you. You can disconnect your network after the page loads and it still works.
To get the fast multi-threaded build of FFmpeg we set the Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers so the browser grants us cross-origin isolation. Older browsers or misconfigured setups fall back to a slower single-threaded mode automatically.
FAQ
Is my video uploaded anywhere?
No. Your file never leaves your device. Conversion runs entirely in your browser using FFmpeg compiled to WebAssembly, so there is no server to upload to.
Which video formats can I convert?
MP4, MOV, WebM, MKV, M4V and AVI all work in most browsers. Anything your build of FFmpeg can decode will work, since the same FFmpeg code runs inside the page.
What's the maximum file size?
There is no hard limit, but everything happens in your browser's memory. A few hundred MB is usually fine on desktop; mobile browsers have tighter memory caps. Trimming to only the clip you need is the easiest way to stay fast.
Why is the GIF so large compared to the video?
GIF is an old, lossless, 256-color-per-frame format with no real inter-frame compression. A 5-second 1080p clip that is 2 MB as MP4 can easily be 20 MB as GIF. To shrink it, lower the FPS, reduce the width, and trim tighter.
What FPS and width should I pick?
15 FPS and 480 px wide is a good default for social and chat apps. Drop to 10 FPS if the motion is slow or you want a smaller file. Go up to 24–30 FPS only if the motion genuinely needs it.
Does it work offline or on mobile?
After the first load the page and FFmpeg core are cached, so conversion works without a network connection. It runs on mobile browsers, but memory is more limited — keep clips short and widths modest.
Why does my browser need to be up to date?
Multi-threaded WebAssembly needs cross-origin isolation (COOP/COEP headers) and SharedArrayBuffer. Older browsers fall back to a slower single-threaded mode. A current Chrome, Edge, Firefox or Safari 16+ gets the fast path.
Is it really free? Any watermark?
Yes, free — no sign-up, no watermark, no usage limit. There is no server to pay for because nothing is uploaded.
Convert by format
Make a GIF for