Free Video to GIF Converter

MP4, MOV, WebM, AVI, MKV and more — convert any video format to a looping GIF with full FPS and size control. Runs entirely in your browser. No upload. No account.

100% PrivateNo UploadFree
Video to GIF ConverterFREE
Browser-side • No upload

Drop a video here or click to browse

Accepts MP4, WebM, MOV, AVI — converts in your browser

How It Works

1

Drop any video file onto the converter

MP4, WebM, MOV, AVI, MKV — any common format is accepted. The file is read into browser memory and processed locally. No data is sent over the network. Files up to 50 MB are supported.

2

Set FPS and output width for your target

Frame rate controls smoothness and file size — 10–15 FPS suits most sharing contexts. Output width sets GIF dimensions: 320px for compact reaction GIFs, 480–640px for social media and documentation, 800px for high-fidelity product demos. Lower values mean dramatically smaller files.

3

Convert in your browser and download

FFmpeg WebAssembly runs a two-pass palette-optimized encode locally on your device. Progress displays in real time. Click Download when complete. The output GIF loops infinitely and auto-plays on every platform.

4

Share your GIF anywhere it needs to go

Drop it into Slack, Discord, GitHub, Reddit, Twitter, iMessage, Notion, Confluence, or embed it on a webpage using a standard img tag. No special attributes or JavaScript needed.

Why GifToMP4 Converts Any Video Format

Most online video to GIF tools only accept MP4. This converter is built on FFmpeg WebAssembly — the same multi-format decoding engine used in professional video editing software — which natively understands every major container and codec combination. You do not need to pre-convert your source file to MP4 first. iPhone recordings (.mov), OBS screen captures (.mkv or .webm), Android clips (.mp4), and legacy Windows files (.avi) all go directly into the same conversion pipeline.

This matters because video format diversity in practice is enormous. iPhone and iPad record in QuickTime .mov containers. OBS Studio defaults to MKV or WebM. Some Android screen recorders produce AVI. Older camcorders and surveillance cameras use AVI or even FLV. Video archives from a decade ago are frequently AVI or WMV. Requiring users to convert to MP4 as an intermediate step adds friction and introduces an extra quality-loss cycle. Supporting all formats directly means you go from source file to GIF in a single step.

When GIF is the right output: Choose GIF when you need the animation to auto-play without user interaction in a platform you do not control — messaging apps, email clients, GitHub Markdown, Notion pages, Confluence, Jira, Linear, and Slack all render GIF inline automatically. No play button, no download prompt, no dependency on the platform's video player.

When to choose video instead: GIF is not efficient for clips longer than 8–10 seconds or content with complex motion and many colors. A 12-second video clip at 15 FPS produces 180 frames as a GIF and can weigh 10–20 MB — too large for most sharing contexts. For longer or higher-quality content, convert to MP4 or WebM instead, where the same clip will be 300–800 KB.

File size guidance for GIF output: Use 10–15 FPS rather than 24 FPS. Set output width to 480px or smaller for sharing contexts, 640px for detailed demos. Clips with simple motion and limited color variation (screen recordings, UI animations, graphics on solid backgrounds) compress most efficiently. If the output GIF is over 5 MB, pass it through a GIF compressor afterward to reduce it further.

Practical rule of thumb: Keep source clips under 8 seconds for clean, shareable GIFs. The shorter and simpler the clip, the smaller the GIF. Reserve video formats for everything longer or more complex.

Key Features

🎞️

Any Video Format Accepted

MP4, MOV, WebM, AVI, MKV — FFmpeg decodes all major containers and codecs without pre-conversion.

🎨

Palette-Optimized Output

Two-pass palettegen with stats_mode=diff builds a custom 256-color palette from your actual content for noticeably better color quality.

🎛️

FPS and Width Control

Set the exact frame rate and output width for your target platform and file size requirement.

🔒

Fully Private — No Uploads

No network requests during conversion. Your video stays on your device from start to finish.

📱

Works on Mobile Devices

Android Chrome and iOS Safari are both supported. Devices from 2019+ handle files up to 20–30 MB smoothly.

♾️

Infinite Loop Built In

All output GIFs include the Netscape loop extension. They auto-loop on every platform and browser.

Format Comparison

FormatExtensionCommon SourceNotes
MP4 (H.264/H.265).mp4Android, camera, web downloadsMost common format — fully supported
WebM (VP8/VP9).webmOBS Studio, browser screen recordingOpen web format — excellent support
QuickTime.moviPhone, iPad, macOS screen recordingH.264 or HEVC codec inside
AVI.aviLegacy Windows apps, older camerasOlder container — widely decodable by FFmpeg
MKV.mkvOBS Studio, Handbrake exportsFlexible container with H.264 or VP9 inside

Technical Details

This tool loads @ffmpeg/core — a complete build of FFmpeg compiled to WebAssembly using Emscripten. WebAssembly runs at near-native speed inside the browser sandbox with no server required. The Wasm binary is fetched once and cached by the browser for all subsequent conversions on the same device. When you submit a video, the tool writes it to FFmpeg's in-memory virtual filesystem, runs the full conversion pipeline (demux → decode → filter → palettegen → paletteuse → mux GIF), reads the output file from the virtual filesystem, and creates a browser object URL for download. The entire process runs in a Web Worker so the browser UI stays responsive during encoding.

GIF color optimization uses FFmpeg's palettegen filter in stats_mode=diff mode, which weights palette color selection based on inter-frame pixel differences rather than analyzing each frame independently. Because animation frames share large regions of identical pixels, this approach dedicates palette slots to the colors that actually change between frames — where color error is most visible. The result is noticeably richer color in animated content compared to per-frame palette generation, at the cost of a slightly longer first-pass analysis step.

Frequently Asked Questions

Can I convert a MOV file recorded on my iPhone or iPad?
Yes. iPhone and iPad record in the QuickTime container (.mov) with H.264 or HEVC (H.265) video inside. FFmpeg decodes both codecs natively. Drop your .mov file onto the converter and it processes identically to an MP4. HEVC files may take slightly longer to decode due to the more computationally intensive codec.
How long can the source video be?
There is no hard time limit, but practical GIF file size constraints apply strongly. A 15-second video at 15 FPS and 480px width produces around 225 frames and a GIF of 8–15 MB. Slack compresses GIFs above 2 MB, GitHub enforces a 25 MB file size limit, and Discord limits uploads to 50 MB for standard accounts. For best results, trim your source to the 3–10 second highlight before converting. For longer content, export as MP4 or WebM instead.
Does this work on mobile phones and tablets?
Yes. The converter runs on Android Chrome and iOS Safari. Mobile performance depends on device memory and CPU speed. Flagship phones from 2019 onward handle files up to 20–30 MB smoothly. On older or lower-memory devices, reduce FPS to 10 and output width to 320px to keep conversion reliable. Very large source files above 30 MB are better processed on a desktop or laptop.
Is my video file sent to any server at any point?
No — completely private. Your video is loaded into browser memory and processed by FFmpeg WebAssembly entirely within your browser. No outbound network request is made during conversion. This converter is appropriate for confidential screen recordings, internal product demos, and any content you would not want uploaded to a third-party service.
What is the difference between this page and the MP4 to GIF page?
This Video to GIF page accepts any video format — MP4, MOV, WebM, AVI, MKV, and others. The MP4 to GIF page is targeted specifically at users with MP4 files and optimized for MP4-related search queries. Both tools use the same FFmpeg WebAssembly engine and produce identical quality output.
Does the converter work without an internet connection?
Yes, once the page and FFmpeg WebAssembly binary have loaded in your browser. After that initial load, you can disconnect from the internet and continue converting video files locally. No network connection is needed during actual conversion.

Ready to try it?

Scroll back up and drop your file to get started.

Explore All Tools