NHRepon
Home
Services
All ServicesWeb Application DevelopmentMobile Application DevelopmentDigital Marketing and SEO
ProjectsToolsProductsPostsAboutContactLogin
HomeServicesProjectsToolsProductsPostsAboutContact
  • Home
  • Projects
  • Posts
Home/Tools/Video Tools/Video to GIF
All Tools

Video to GIF

Turn part of a video into a looping GIF, choosing the frame rate, the width and the colour count. The file is decoded and encoded in your browser.

Choose a videoDrag a file in, or click to browse. MP4, WebM, MOV or whatever else your browser can play.

A GIF is a sequence of images with a 256-colour palette, which is why it looks the way it does: banding in gradients, noise around sharp edges, and a file size that grows as a multiple of frame count and area. It is still the only animated image every chat app, forum and email client will display, which is why it refuses to die.

What is a Video to GIF?

A GIF is a sequence of images with a delay between them, each drawn from a palette of at most 256 colours. There is no video codec in it and no inter-frame compression of the modern kind — every frame is stored more or less whole. That single fact explains almost everything about GIFs: why they are large, why they band in gradients, and why a three-second clip can weigh more than a minute of MP4.

The 256-colour limit is the visible one. A photograph or a video frame contains thousands of distinct colours, so an encoder has to pick the 256 that represent the frame best and map every pixel onto them. Where the frame is a smooth gradient — a sky, a shadow on skin — that mapping produces visible banding. Where there is film grain or noise, the encoder spends most of its palette on noise, and the result shimmers from frame to frame.

Encoding a GIF therefore means choosing a palette, then writing each sampled frame against it. This tool builds one shared palette from a handful of frames spread across the clip, so the colours stay stable rather than flickering, and then writes the frames in a second pass. Frame rate, width and palette size are the three dials that decide the file size, and they multiply: halving the width quarters the pixels, doubling the frame rate doubles the frames.

How to make a GIF from a video

  1. Choose the video. The preview plays it so you can find the moment you want, and the file is never uploaded.
  2. Scrub to where the GIF should begin, read the time off the player, and type it into the start box.
  3. Set the length. Two to four seconds is the sweet spot; past about ten the file gets unwieldy.
  4. Choose a width. 320 to 480 px is what a chat window and a blog post actually display.
  5. Pick a frame rate and a palette. 12 fps with 128 colours is a good default; drop both if the file is too large.
  6. Press Build. Each frame is decoded twice — once to choose the colours, once to write it — and the preview appears when the encoder finishes.

Video to GIF limits and rules

Limits, caps and standards referenced by this tool
ItemLimit
Maximum frames300 per GIF, which is 25 seconds at 12 fps
Palette64, 128 or 256 colours — 256 is the format's own ceiling
Palette strategyOne global palette built from six sampled frames, so colours do not flicker
Frame rates8, 12, 15 and 24 fps
Widths240, 320, 480 or 640 px, with the height following the aspect ratio
LoopingLoop forever or play once
AudioNot included — the GIF format has no audio track at all
TransparencyNot preserved; video frames are opaque
Frame coloursEvery frame can only use colours that are in the shared palette
UploadingNone — decoding and encoding both happen in the page

When to use it

  • Making a reaction GIF from a few seconds of a longer clip.
  • Turning a short screen recording into something that plays inline in documentation or a README.
  • Producing a preview animation of a UI animation for a design review, where autoplay matters more than fidelity.
  • Cutting a highlight from a video to paste into a chat, where only GIF and short video are accepted.

Is it private?

Nothing is uploaded. The video is decoded by your browser, sampled onto a canvas in this page, and encoded by a small GIF library loaded here, so the clip and every frame derived from it stay in memory on your machine. There is no server step to audit and no stored copy; closing the tab clears everything.

Frequently asked questions

Because a GIF stores each frame whole, with no inter-frame compression. Some video formats only store what changed between frames, which is why a minute of video can be smaller than five seconds of GIF. The levers that actually help are width, frame rate, palette size and length — in roughly that order of impact. Cutting the length is free and usually the answer.

Because 256 colours is not many. Banding appears where the original had smooth gradients and there are not enough palette entries to step through them; grain and shimmer appear when the encoder spends palette entries on noise instead of subject. Choosing an easier clip — a flat background, a face rather than a landscape — helps more than any setting. Dropping to 64 colours makes it worse, not better.

Up to 300 frames, which is 25 seconds at 12 fps and 12 seconds at 24 fps. The cap exists because every frame has to be decoded from the video and quantised, and a browser tab that tries to do a thousand frames simply stops responding. If you need something longer, a looping video file is the right format anyway.

Yes, and it cannot be kept — the GIF format has no audio track, which is why every GIF is silent by definition. If sound matters, use the video compressor instead and send a small MP4 or WebM, which chats also accept and which will be far smaller.

Because the frames are decoded twice. The first pass samples six frames across the clip to choose the colour palette; the second seeks back through the video and writes each frame. Seeking is the slow part — a browser has to decode from the nearest keyframe every time — which is also why very long videos produce GIFs slowly.

No. The encoding library runs inside the page, the video is decoded by your own browser, and the resulting GIF is assembled in memory and handed straight to the download. There is no request in the process that contains your video, which you can confirm by watching the network tab.

Related tools

  • Video Compressor
  • Image Compressor
  • Image Resizer
  • HEIC to JPG Converter

Written and maintained by Md. Nur Hossain Repon.

NHRepon


Md. Nur Hossain Repon expert in NextJS, React, React Native and Flutter. He is a full-stack web and mobile application developer with 5+ years of experience and a passion for building innovative and robust application. Also, he has a strong background in developing high-quality web and mobile applications using the latest technologies and frameworks.
Let's build something amazing together 🚀

Quick Links


  • About
  • Projects
  • Services
  • Contact
  • Posts
  • Products
  • Privacy Policy
  • Terms of Service
  • Tools
  • Smart Life Hubs

Newsletter


We respect your privacy. Unsubscribe anytime.

Connect


© 2026 NHRepon. All rights reserved.

Build v1.5.4+56.73c4a90