Video to GIF

Pick the seconds you want, watch them loop, convert. Nothing is uploaded.

Drop a video here, or click to choose one MP4, MOV, WebM, MKV · phone videos welcome · any size

Nothing is uploaded — the GIF is made on your device.

← → one frame · Shift + arrow one second · I / O set start / end · Space play · Esc leave crop / text · Shift while rotating = no snap
What is the GIF for?
Advanced

Every frame gets its own palette; a scene change never tints the whole GIF.

Estimated GIF

No uploadyour video never leaves your device
No watermarkthe GIF is yours, no logo in the corner
Preview firstthe loop you see is the GIF you get
Freeno account, no paid tier, no daily quota

The same three seconds, three ways

A short screen recording converted on this page with each of the three presets. The files below are the actual output — sizes are read from them at build time, not typed in.

Chat preset — 320 × 180, 23 frames
Chat22.5 KB
320 × 180 · 23 frames · 3.0 s

320 px, 12 fps, 128 colours. Small enough to paste into any chat; text is still readable at this size.

Demo preset — 640 × 360, 22 frames
Demo40.1 KB
640 × 360 · 22 frames · 3.0 s

640 px, 12 fps, 256 colours. The README and support-ticket size. Because only changed pixels are stored, the static window costs almost nothing.

Best preset — 640 × 360, 25 frames
Best43.5 KB
640 × 360 · 25 frames · 3.0 s

20 fps at the same width. Smoother cursor movement for a modest increase — on camera footage the increase is larger.

Camera footage compresses less well than a screen recording: every pixel changes every frame. Expect a five-second phone clip at the Demo preset to land around one to two megabytes; the estimate under Convert tells you before you press it.

What is on the workspace

Everything happens in the one panel at the top of the page. This is what each part does.

Film strip and handles
The strip under the picture is the whole video. Drag the blue handles to set the start and end, or drag the middle to slide the selection along. Arrow keys nudge a handle by one frame, Shift + arrow by one second; I and O set the start and end to wherever the preview is playing. The numbers under the strip mirror the handles if you would rather type.
Preview
The picture loops exactly the selected part, at once. The badge in the corner is the output: width, frame rate, length and frame count. After converting, the GIF itself takes the preview's place and keeps looping; change anything and the preview returns.
Estimated size
Not a rule of thumb. A few of your actual frames are encoded with the current settings and the result is scaled to the frame count. It updates as you drag, usually lands within a few percent, and corrects itself after each conversion.
Chat, Demo, Best
Three presets named by what the GIF is for. They set frame rate, width and colours; the three menus underneath let you change any of them by hand.
Crop
A frame on the picture with eight handles and aspect presets — free, 1:1, 4:5, 9:16, 16:9. The output size and the estimate follow the frame. Outside the frame stays dimmed so you always see what the GIF will contain.
Text
A caption you drag into place, resize by its corner and rotate by its top handle. Five fonts, colour, an outline with its own colour, a box, and separate opacity for text and box. It is drawn into every frame at output resolution.
Sticker
An emoji from the panel, or an image of your own — a PNG with transparency, a logo, a cut-out. Same handles as text: drag, resize, rotate, flip, fade. Animated stickers are not supported.
Advanced
Dithering smooths gradients at a small cost in size. "Only store changed pixels" is what makes screen recordings tiny; turn it off if a video with heavy noise comes out larger than expected. "Loop forever" is the default; off means the GIF plays once and stops.

What makes this GIF maker different

Most video-to-GIF sites still ask you to type a start time and an end time into two boxes, convert, download, open the file, notice it starts half a second too late, and go back to the boxes. This page works the way a video editor does. When you drop a video in, a strip of frames appears under the picture with two handles on it. Drag the handles and the picture above loops the exact part you have selected, at once, so you see the GIF before it exists. The estimate next to the Convert button updates as you drag: it is not a rule of thumb but the result of encoding a few of your actual frames, so it is usually within a few percent of the final file.

Nothing is uploaded. The video is decoded by your own browser, the frames are quantised and written into a GIF on your own machine, and the result is offered for download — there is no server in the loop, which is why there is no queue, no file size cap, no account and no watermark. It also means a phone video that was recorded upright comes out upright: the rotation flag in the file is honoured, which a surprising number of converters get wrong.

How to turn a video into a GIF

Drop a video onto the page or click Choose video. The first three seconds are selected and start looping immediately. Move the selection by dragging the blue handles on the film strip, or drag the middle of the selection to slide it along the video. Arrow keys nudge a handle by one frame, Shift+arrow by one second, and I and O set the start and end to wherever the video is currently playing, like an editing program. If you prefer numbers, the start and duration boxes under the strip accept them.

Then pick what the GIF is for. Chat gives a small file for messaging apps and comments; Demo is the right size for a README, a support ticket or a product page; Best keeps more frames and more width when size does not matter. The three menus underneath — frame rate, width and colours — are what the presets set, and you can change any of them directly. Two more tools sit in the corner of the picture: Crop draws a frame you can drag by its corners, with aspect presets for square, portrait and widescreen; Text puts a caption on the picture that you drag into place and resize by its corner, in a meme or a clean font, with an outline or a box. Sticker adds an emoji from a panel, or an image of your own — a PNG with transparency, say — which you place, scale, rotate, flip and fade the same way. Everything on the picture is burned into the GIF at output resolution. When the estimate looks right, press Convert. The result replaces the preview and loops in place, with its real size and a Download button beside it. Change anything and the preview comes back; convert again as many times as you like.

Frame rate, width and colours — what each one costs

A GIF is a stack of full pictures, so its size is roughly frames × pixels. Frame rate decides how many pictures per second: 10–12 fps looks smooth enough for most motion and is what most GIFs on the web use; 15 is noticeably smoother for camera footage; 20–30 only pays off for fast motion and doubles the file. The converter never produces more frames than the video has, so a 24 fps video at a 30 fps setting gives 24. Width is the biggest lever — halving it quarters the pixels. 320 px is fine inline in a chat, 480–640 px for a README or a web page, 800 px is already large for a GIF.

Colours: a GIF frame can show at most 256 colours. Each frame here gets its own palette, chosen from that frame's actual pixels, so a scene change does not turn everything brown the way global-palette converters do. Dithering spreads the remaining error into a fine pattern so gradients and skies do not band; it is on by default and costs a little size. Under Advanced you can also turn off "only store changed pixels" — with it on, parts of the picture that do not change from one frame to the next are not stored again, which makes screen recordings and talking-head clips a fraction of the size, and frames that do not change at all are merged into a longer pause.

Why the estimate is trustworthy

GIF size depends on the picture as much as on the settings: a screen recording with a white background compresses ten times better than a handheld clip of a crowd, at identical settings. So instead of guessing from resolution and frame count, this page encodes two pairs of frames from your selection — one pair at the start and one in the middle — with the exact settings you have chosen, measures how many bytes a full frame and a follow-on frame take, and multiplies by the number of frames. That takes a fraction of a second and usually lands within a few percent of the real file. After each conversion the estimate is corrected by how far off it was, so the second GIF from the same kind of footage is estimated even more closely.

Formats, limits and where it runs

Input: MP4, M4V, MOV, WebM and MKV containing H.264, H.265/HEVC, VP8, VP9 or AV1 — anything a modern browser can decode. Phone recordings from iPhone and Android work as they are, including portrait clips and clips recorded upside down. Output is a standard GIF89a with a local palette per frame, which every browser, chat app, email client and document editor displays. There is no file size limit on the input; the selected part is capped at 60 seconds, because a GIF that long is tens of megabytes and would be better as a video. Everything runs in current Chrome, Edge, Safari and Firefox on desktop and Android, and in Safari on iPhone. If a browser cannot decode a particular file, the page says so instead of failing silently.

Frequently asked questions

Is it free, and is there a watermark?

Free, no watermark, no account, no daily limit. The site is supported by the ads on the page. Conversion runs on your device, so a large or long file costs us nothing extra and there is no reason to charge for it.

Where does my video go?

Nowhere. It is read from your disk by the browser and converted on your device. No part of the file is sent to any server — you can watch your browser's network panel while it converts and see no upload.

My phone video comes out sideways or upside down on other sites. Here?

It comes out the way it plays. Phones store the picture in sensor orientation and add a rotation flag; this converter applies the flag before it takes a single frame, so portrait stays portrait.

How long can the GIF be?

Up to 60 seconds of video. In practice, GIFs longer than about 15 seconds get large quickly — a 30-second clip at 480 px is often 10–20 MB. For anything long, a small MP4 is a better format and most chat apps play it inline.

Can I make the GIF smaller?

In order of effect: reduce the width, shorten the selection, lower the frame rate, then reduce colours to 128 or 64. The estimate updates as you change each one, so you can see what each step saves before converting.

Why does the estimate differ from the final size?

The estimate is measured from a few of your frames, not from a formula, and is usually within a few percent. Footage whose motion changes a lot within the selection can land further off; after each conversion the estimate is calibrated against the real result.

Does it loop?

Yes, by default. Turn off "Loop forever" under Advanced for a GIF that plays once and stops on the last frame.

Can I convert a screen recording?

Yes, and it is the best case for a GIF: with "only store changed pixels" on, the parts of the screen that do not move are stored once, so a one-minute recording of a small app window can be a few megabytes. The screen recording to GIF page opens with settings tuned for it.

Does it work on my phone?

Yes, on Android in Chrome and on iPhone in Safari. The film strip handles are sized for fingers, and the keyboard shortcuts simply do not apply.

Can I add a sticker or a logo?

Yes. Sticker in the corner of the picture opens a panel: pick an emoji, or upload a PNG, WebP, JPG or SVG of your own. It goes on the picture as a layer you can drag, resize by the corner, rotate by the top handle, flip and fade. Animated stickers (GIF, APNG) are not supported.

Guides for particular places

Each of these opens the converter with defaults chosen for that use, and explains the limit or the trick that matters there.

By app & platform

By format & source

By goal

More video tools, on our other sites

Compress, trim, remove audio, extract MP3, rotate, save a frame — the same browser-only rules, one click away.