Nothing is uploaded. The GIF is made on your device.
PNG with transparency, WebP, JPG or SVG
Advanced
Every frame gets its own palette, so a scene change does not tint the whole GIF.
What this tool does
Drop a video and a strip of frames appears under the picture with two handles on it. The picture loops exactly the part between the handles, so you see the GIF before it is made. The first three seconds are selected to start with. Next to the Convert button an estimate of the file size updates as you drag. It comes from encoding two pairs of your own frames with the current settings, one pair at the start of the selection and one in the middle, and in our tests it lands within 2 to 6 percent of the real file. After each conversion the estimate corrects itself by how far off it was.
The video is decoded by your browser and the GIF is written on your device, so there is no upload, no queue and no watermark of ours. Phone clips come out the way they play: a portrait iPhone video is stored sideways with a rotation flag, and the flag is applied before the first frame is taken. On the picture you can crop, add a caption, place an emoji or an image as a sticker, and put your logo in a corner as a watermark. Everything you place there is drawn into every frame at the output size.
How to use it
Drag the handles on the film strip to set the start and end, or drag the middle of the selection to slide it along the video. The ← → keys move a handle by one frame, Shift+arrow by one second, and I and O set the start or end to the frame that is playing, as in an editing program. The Start and Length boxes under the strip take exact numbers. For a long recording a second, narrower strip appears above the first: it shows the whole video, and clicking it moves the selection there.
Then pick what the GIF is for. Chat is 320 px at 12 fps with 128 colours for messages and comments, Demo is 640 px at 12 fps for a README, a ticket or a product page, and Best is 800 px at 20 fps for when size matters less. The three menus below are what the presets set, and you can change any of them. Press Convert and the finished GIF replaces the preview and loops in place, with its real size and a Download button. Change anything and the preview comes back, ready for another conversion.
The watermark is placed relative to the finished picture: put it in the bottom-right corner, crop the video to a square, and it is still in the bottom-right corner of the square. A JPG logo's white background can be made transparent with one switch. The logo and its position are kept in your browser, and Use last watermark puts it back on the next video. It is never added on its own.
Frame rate, width and colours
A GIF is a stack of full pictures, so its size grows with frames × pixels. Width is the biggest lever: halving it quarters the pixels. 320 px is enough inline in a chat, 480 to 640 px suits a web page or a README, and 800 px is already large. 10 to 12 fps looks smooth for most motion; 20 to 30 only pays off for fast action and roughly doubles the file. The tool never makes more frames than the video has, so a 24 fps clip set to 30 fps gives 24.
Each frame gets its own 256-colour palette taken from its own pixels, so a cut to a different scene does not tint the whole GIF. Dithering breaks the remaining banding into a fine pattern; turn it off under Advanced for flat interface recordings, where the pattern counts as change. With Only store changed pixels on, the parts of the picture that stay the same from one frame to the next are stored once, and frames with no change at all are merged into a longer pause. A screen recording of a dialog box can come out at a tenth of the size of a handheld clip of the same length.
Formats and limits
Input: MP4, M4V, MOV, WebM and MKV with H.264, HEVC, VP8, VP9 or AV1 video, as far as your browser can decode it. iPhone clips are HEVC by default; Safari, Chrome and Edge decode it, Firefox may not, and the page says so when it cannot. WebM files from browser recorders often have no duration in the header; the real length is read from the frames. There is no limit on the size of the input file. The selected part is capped at 60 seconds, because a GIF that long at 480 px is usually tens of megabytes. Output is a standard GIF89a that loops forever by default; turn Loop forever off under Advanced for a GIF that plays once.
Where it is used
A reaction or a game moment for a chat; a two-to-eight-second screen recording of a bug or a feature for a support reply, an issue or a README, where a GIF plays without a click; a short product shot for a web page or an email; a captioned clip for a meme. To cut a longer recording down first, Trim Video does it without re-encoding. A single still comes from Video to Image, and a clip that plays sideways is fixed by Rotate Video.
Frequently asked questions
Is there a watermark?
No. The GIF has nothing of ours on it. If you want your own logo on it, the Watermark button adds one.
Where does my video go?
Nowhere. The browser reads the file from your disk and the GIF is made on your device. No part of the video is sent to a server.
My phone video comes out sideways on other sites. Here?
It comes out the way it plays. Phones record in sensor orientation and add a rotation flag; the flag is applied before any frame is taken, so portrait stays portrait.
How long can the GIF be?
Up to 60 seconds of video. GIFs grow fast: a 30-second clip at 480 px is often 10 to 20 MB. For anything long, a short MP4 is smaller and most chat apps play it inline.
How do I make the GIF smaller?
In order of effect: lower the width, shorten the selection, lower the frame rate, then reduce colours to 128 or 64. The estimate updates with each change, so you can see what a step saves before converting.
Why is the final size different from the estimate?
The estimate is measured from four of your frames. Footage whose motion changes a lot within the selection can land further off. After each conversion the estimate is calibrated against the real result.
Can I add text or stickers?
Yes. Text adds a caption you can drag, resize and rotate, in five fonts, with an outline or a box behind it. Sticker adds an emoji or an image of your own, such as a PNG with transparency. Both are drawn into every frame.
Does it work on a phone?
Yes, in Chrome on Android and Safari on iPhone. The handles on the film strip are sized for fingers. On iPhone the downloaded GIF goes to Files.