Turn a scene from a video into a GIF and compare the real size of three quality levels
The Video to GIF Converter turns a short stretch of a video into a silent GIF that loops on its own. You drag the start and end handles on the thumbnail strip to pick the scene, crop it to a square or a vertical ratio if you like, and change the playback speed and the loop style. Whenever you change the range or a setting, the GIF is rebuilt right away, and all three quality levels are actually built so that a bar shows the file size of each one.
For example, take the first 5 seconds of the sample video "Sunset sea" (640 × 360, 10 s) at a long side of 480px and 10 frames per second. "Normal" comes to 554 KB, "Sharp" to 1.14 MB and "Light" to 315 KB. With the same settings, the "Screen recording" sample, where most of the picture stays still, reaches only 41 KB at "Normal". Your video is not sent to a server; it is processed only inside this browser.
When to use it
- Showing an action without sound, on a loop: for a few seconds of explanation, such as how a feature works, the order of buttons to press or the moment an error appears, a GIF that repeats by itself is handier than a clip with a play button. Any place that accepts images can take it, and according to GitHub Docs, images and GIFs attached to issues and comments can be up to 10MB.
- Using one moment from a phone video: if you only need the 3 seconds when your dog runs up, or the moment the sauce is poured, pick the range and crop it to 1:1 or 4:5 so it fits a messaging app or a community post.
- Adding motion to a product page: a fold-out mechanism or a light that changes color is hard to convey in a photo, and a short GIF does it better. Look at the real size of each quality level and choose one that keeps the page light.
- Studying fast or slow action: at 0.5× speed a split-second movement slows down, and at 2× a long process is squeezed into a short loop. The boomerang loop runs backward at the end and then continues, so a clip whose first and last scenes differ no longer jumps when it repeats.
How to use it
- Drop a video on the workspace or press "Choose video". Any video this browser can play, such as MP4, MOV or WebM, opens, and there is no limit on the file size.
- As soon as the video opens, a GIF is built from the first 5 seconds (or less, if the maximum range for the current settings is shorter). The source video is on the left and the GIF you made is on the right.
- On the scene strip, drag the handles at both ends, or select a point to jump to that scene and press "Start here" or "End here". You can also type a time such as 0:04.5 or 4.5 in the start and end fields. Dragging inside the range moves it without changing its length.
- If needed, choose a crop ratio (Original, 1:1, 4:5, 9:16, 16:9 or Free) and drag the box over the source picture into position. Drag a corner to resize it.
- Choose the size (long side), frames per second, playback speed and loop. The GIF is rebuilt as soon as a setting changes, and "Play range" repeats only the chosen range of the source at that speed.
- Compare the sizes of the three quality levels, pick one and press "Save GIF". The width and height are added to the end of the file name (for example video-480x270.gif).
How long a range can you pick?
The tool builds at most 300 frames, and the width × height × number of frames must not exceed 32 million pixels. The number of frames is the range length divided by the playback speed, multiplied by the frames per second and rounded up. So the same video allows a shorter range when you raise the size or the frames per second. The table below shows the longest range you can pick for a 16:9 video at 1× speed (rounded down to 0.1 s).
| Size | 5 fps | 10 fps | 12 fps | 15 fps | 24 fps |
|---|---|---|---|---|---|
| 240 × 135 | 60.0 s | 30.0 s | 25.0 s | 20.0 s | 12.5 s |
| 360 × 203 | 60.0 s | 30.0 s | 25.0 s | 20.0 s | 12.5 s |
| 480 × 270 | 49.2 s | 24.6 s | 20.5 s | 16.4 s | 10.2 s |
| 720 × 405 | 21.8 s | 10.9 s | 9.0 s | 7.2 s | 4.5 s |
| 960 × 540 | 12.2 s | 6.1 s | 5.0 s | 4.0 s | 2.5 s |
- Small sizes are limited by the 300 frames: at 240px there are plenty of pixels to spare, but you cannot go beyond 300 frames, so the maximum is 60 seconds at 5 fps and 30 seconds at 10 fps.
- Large sizes are limited by the pixel total: one frame at 960 × 540 has 518,400 pixels, so only 61 frames fit in 32 million pixels, which is 2.5 seconds at 24 fps. The hatched part of the scene strip shows where the end handle cannot go from the current start.
- At 2× speed the same number of frames covers twice the length: every 2 seconds of video become 1 second of GIF, so the lengths in the table double, and at 0.5× they are halved.
How the three quality levels differ
A GIF holds at most 256 colors per frame. This tool gathers the colors from all the frames, builds one shared palette with the median cut method, and stores only the rectangle around the pixels that changed since the previous frame (the same engine as GIF Compressor). The three levels differ in what they allow on top of that. The sizes in the table were measured by actually building the first 5 seconds of the two samples at 480px and 10 fps.
| Level | What it does | Sunset sea | Screen recording |
|---|---|---|---|
| Sharp | 256 colors, with ordered dithering that smooths the banding in gradients such as the sky | 1.14 MB | 95 KB |
| Normal | 256 colors; very similar colors are treated as the same and compressed (lossy LZW), and pixels that changed only by noise stay as in the previous frame | 554 KB | 41 KB |
| Light | 128 colors, with lossy compression and "same as the previous frame" applied more widely | 315 KB | 27 KB |
- Why "Sharp" is the largest: dithering imitates an in-between color that is not in the palette with a pattern of dots in two colors. The banding shrinks, but the dot pattern gets in the way of compression, and on a screen recording with many flat areas it can even leave visible specks. For screen recordings, "Normal" often looks cleaner.
- Why "Normal" saves so much on a filmed video: even a still background changes a little in every pixel because of noise. "Normal" leaves pixels with a small color difference as in the previous frame, so only the parts that really moved are written again. In the sunset sea sample it came to about half of "Sharp".
- "Light" has 128 colors: steps begin to show in areas where color changes gradually, such as the sky or shadows. Choose it when you have to fit an upload size limit, and if the file is still too big, lower the size or the frames per second.
What decides the GIF size?
This is the first 5 seconds of the sunset sea sample at 480px, 10 fps, 1× speed, looping forever and "Normal" (554 KB), rebuilt with one setting changed at a time.
| Changed setting | Result | Size | vs. base |
|---|---|---|---|
| Size 360px | 360 × 203 | 357 KB | 0.64× |
| Size 720px | 720 × 405 | 1.04 MB | 1.87× |
| 5 frames per second | 25 frames | 341 KB | 0.62× |
| 15 frames per second | 75 frames | 707 KB | 1.28× |
| 24 frames per second | 120 frames | 929 KB | 1.68× |
| 2× speed | 25 frames, GIF 2.5 s | 341 KB | 0.62× |
| Boomerang loop | 98 frames, GIF 9.8 s | 1.08 MB | 1.95× |
| 1:1 crop | 480 × 480 | 858 KB | 1.55× |
- Size follows the area: making the long side 1.5 times larger (480 to 720px) gives 2.25 times as many pixels, and the file became 1.87× as large. It is the first setting to lower.
- Frames per second do not add size in proportion to the frame count: 24 fps has 2.4 times as many frames, yet the file was 1.68×. The shorter the gap between frames, the fewer pixels differ from the previous frame.
- 2× speed has the same size as 5 fps: both take one frame from the video every 0.2 seconds and store the same 25 frames. At 2× each frame is shown for 0.1 second, so the GIF lasts 2.5 seconds, while at 5 fps each frame is shown for 0.2 second and it lasts 5 seconds.
- The boomerang loop is nearly double: the frames that come back from the end to the start are stored separately, so there are 98 frames (each end frame is used once).
- Why the 1:1 crop got bigger: the sample video is 360px tall, so a 1:1 crop is 360 × 360, and building it at a long side of 480px enlarges it and actually adds pixels. When you crop a small video, choose a size no larger than the cropped area (the line under the size field tells you when it is enlarged).
Crop ratios and the resulting size
When you choose a ratio, the largest box that fits in the video is placed in the center, and you drag it to move it. The output size is the long side of the cropped area scaled to the size you chose. This is what a 1920 × 1080 video becomes at a long side of 480px.
| Ratio | Crop area | GIF size | Good for |
|---|---|---|---|
| Original (16:9) | 1,920 × 1,080 | 480 × 270 | Landscape as shot, how-to clips, screen recordings |
| 1:1 | 1,080 × 1,080 | 480 × 480 | Profile pictures, square posts, messaging |
| 4:5 | 864 × 1,080 | 384 × 480 | Slightly tall feed posts |
| 9:16 | 608 × 1,080 | 270 × 480 | Full-screen vertical, phone screen recordings |
"Free" lets you drag the corners to keep any area without a fixed ratio. When a screen recording should show only one button or one window, it makes the GIF smaller and the text bigger. A video shot upright on a phone is cropped and built upright, following the rotation information stored in the file.
Playback speed and loop style
- Playback speed (0.5, 1, 1.5 and 2×): this changes the interval at which frames are taken from the video. At 10 fps and 2× speed, a frame is taken every 0.2 seconds of video and shown for 0.1 second, so a 10-second range becomes a 5-second GIF. 0.5× slows things down, but it does not invent in-between frames that the source does not have. If the source runs at 30 frames per second, some spots at 0.5× and 24 fps show the same frame twice, and such frames are stored by adding time to the previous frame.
- Loops forever: when it ends, it starts again from the beginning. Most animated GIFs work this way.
- Plays once: no loop information is written, so the browser plays it once and stops on the last frame. Use it when a document should show the result and stay still. Note that a messaging app or a forum may re-save the GIF and change the looping.
- Boomerang loop: it plays to the end, comes back to the start in reverse, and repeats. The end frames are not used twice, so there is no hesitation at either end.
A GIF writes the display time of each frame in units of 1/100 second. When a second does not divide evenly, as at 12 fps, 0.08 and 0.09 second are alternated so that the total length stays right. Browsers stretch a frame written as 0.01 second or less to 0.1 second, but this does not apply here because even the fastest setting, 24 fps, uses 0.04 to 0.05 second.
Common problems
- The GIF is bigger than the original video: this is normal. GIF is a 1987 format with none of the prediction between frames that MP4 uses for compression, and it stores pixels within 256 colors. The whole 10 seconds of the sample video is 344 KB, while 5 seconds of it as a 480px GIF at "Normal" is 554 KB. In the web.dev example, too, a 3.7 MB GIF was 551 KB as MP4 and 341 KB as WebM. If the place you upload to accepts video, video is far lighter.
- The range got shorter when I switched to 720px and 24 fps: the maximum range differs with each setting, and when the end goes beyond that length it is adjusted and you are told. To fit more, lower the size or the frames per second, or raise the playback speed.
- An iPhone video will not open: in Settings > Camera > Formats, an iPhone films video in HEVC (H.265) with "High Efficiency" and in H.264 with "Most Compatible". According to MDN, Chrome plays HEVC on macOS 11 and later, but on Windows and Linux only on devices with hardware support. If it will not open, open it in another browser or on another device, film with "Most Compatible", or export it from QuickTime Player on a Mac with "Greater Compatibility (H.264)" and choose it again.
- A small video turns blurry when made bigger: if you choose a size larger than the long side of the cropped area, the picture is enlarged. Details that were not in the source do not appear, so when you see "enlarged" under the size field, lower it by one step.
- The scene needs sound: a GIF has no place for sound. If speech or music is the point, send the original video instead of a GIF.
Limits
- The tool builds up to 300 frames, and width × height × number of frames up to 32 million pixels. This is not a limit of the GIF format; it is a range this tool set so that even phones do not run out of memory.
- It cannot open a codec that this browser cannot play. H.264 and HEVC inside MP4 or MOV are decoded in one pass by the browser's built-in decoder (WebCodecs), which is fast. Other videos (such as WebM) and browsers without a built-in decoder have to seek the video to each scene's time and read it, which takes longer.
- A video shot in HDR may look different in brightness and color from the original once it is converted to a GIF with 256 colors and a normal brightness range.
- Each scene uses the frame shown 1/1000 second after the time you chose. Because of the frame spacing of the source, the picture is not exactly at the time recorded for each scene, and range times are chosen in steps of 0.1 second.
- It does not add text, apply filters, join several videos or set a number of repeats (such as 3 times). To shrink the GIF further, GIF Compressor can fit it to a target size.
- The sizes in the tables were measured in Chromium on 2026-10-23. Browsers decode and scale video a little differently, so results can differ by a few percent.
Reference date: the matching statements in the documents below were checked on October 23, 2026. The sizes are measured by building the sample videos into GIFs with this tool.
Sources
- 01W3C — Graphics Interchange Format Version 89aDelay time is in units of 1/100 second; the color table has 2 to the power of (field value + 1) entries, up to 256 colors
- 02MDN — VideoDecoderThe WebCodecs video decoder: turns chunks of compressed video into frames
- 03MDN — Web video codec guideChrome plays HEVC on all devices with macOS 11 or later, and on Windows 8 or later, Linux and ChromeOS only with hardware support
- 04Apple — About HEIF and HEVC media on Apple devicesWith the camera format "Most Compatible" media is shot as JPEG and H.264, with "High Efficiency" as HEIF and HEVC
- 05web.dev — Replace animated GIFs with video for faster page loadsThe example GIF of 3.7 MB becomes 551 KB as MP4 and 341 KB as WebM
- 06GitHub Docs — Attaching filesImages and GIFs can be up to 10MB
- 07WebKit — ScalableImageDecoder.cppA comment saying frames written as 0.01 second (10 ms) or less are shown for 0.1 second
- 08Heckbert, P. (1982). Color image quantization for frame buffer display. SIGGRAPH '82, 297–307Reducing colors with median cut
Frequently asked questions
Is my video uploaded to a server?
No. The video is opened and its frames are taken and turned into a GIF only inside this browser. The file is not sent to a server, and closing or reloading the tab removes the video and the result, so save any GIF you need.
How many seconds can I turn into a GIF?
Up to 300 frames, and width × height × number of frames within 32 million pixels. For a 16:9 video at 1× speed, 240px at 10 fps allows 30 seconds, 480px at 10 fps allows 24.6 seconds, 720px at 24 fps allows 4.5 seconds and 960px at 24 fps allows 2.5 seconds. At 2× speed the same number of frames covers twice the length.
The GIF is bigger than the original video. Is that normal?
Yes. GIF is an old format that stores pixels within 256 colors and cannot predict between frames the way MP4 does. The whole 10 seconds of the sample video is 344 KB, while 5 seconds of it as a 480px GIF at "Normal" was 554 KB. To make it smaller, lower the long side first, then the frames per second.
A video from my iPhone will not open.
With the camera format "High Efficiency", an iPhone films video in HEVC. Chrome plays HEVC on macOS 11 and later, but on Windows only on devices with hardware support. Open it in another browser, film with Settings > Camera > Formats > "Most Compatible" (H.264), or choose a file exported as H.264.
Which of the three quality levels should I choose?
Start with "Normal". It leaves pixels that change only because of noise as in the previous frame, which cuts the size a lot. If banding in the sky or shadows bothers you, choose "Sharp", and if you have to fit an upload size limit, choose "Light". The real size of all three is shown beside the bars, so you can compare and decide.
What is a boomerang loop?
The chosen range plays to the end, then comes back to the start in reverse, and this repeats. A clip whose first and last scenes differ no longer jumps when it repeats, but the frames coming back are stored separately, so the file becomes nearly twice as large.
What changes when I change the playback speed?
The interval at which frames are taken from the video changes. At 10 fps and 2× speed, a frame is taken every 0.2 seconds of video and shown for 0.1 second, so a 10-second range becomes a 5-second GIF with half the frames. 0.5× slows it down but does not invent in-between frames the source does not have.
Does the GIF include sound?
No. A GIF has no place for sound, so the sound of the video is left out. If speech or music is the point, send the original video instead of a GIF. The source picture in this tool also plays without sound.