localgif.app

MOV to GIF — free, private, in your browser

Convert an MOV video to an animated GIF in your browser. Nothing is uploaded — the file stays on your machine.

Pick a video

Drop a video here, or click to choose.

.mp4 · .mov · .webm · .mkv · .m4v · .avi

About MOV

MOV is Apple's QuickTime container — the default output of iPhone camera recordings, the macOS screen-capture shortcut (Cmd + Shift + 5) and a lot of Mac video tooling. Most .mov files carry H.264 or HEVC video, which FFmpeg decodes natively.

That makes MOV files a perfect fit for in-browser conversion: drag a QuickTime recording in, trim out the bits you don't want, and get a GIF back — your footage never leaves the machine, which matters when the recording is an internal demo or a private moment.

How it works

  1. Pick a video. Drag one in or click the dropzone. MP4, MOV, WebM, MKV, M4V and AVI all work.
  2. 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.
  3. Tune the output. Choose FPS and width, and pick Better (2-pass, custom palette) or Smaller (1-pass, default palette).
  4. 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.