What the GIFvideo → gif, the way creatives need it
Guide for developers

GIF in a GitHub README: how to make one that loads fast

A README that shows the tool running beats three paragraphs explaining it. Here's how to turn a screen recording into a GitHub-friendly GIF that loads fast, stays under the limit, and keeps your terminal text readable.

Drop a video, get a GIF free · frame-perfect · nothing leaves your browser Open the converter →

Why a GIF earns its place in a README

Nobody clones your repo on faith. They scroll the README, and the thing that makes them stay is seeing it actually work. A 5-second loop of your CLI spitting out output, or your app responding to a click, does more than a wall of usage examples. GitHub renders animated GIFs inline in Markdown, autoplays them, and loops them forever, so a demo right under your project title earns trust fast.

The catch is that GIF is a terrible video codec wearing a trench coat. It's 256 colors, no real motion compression, and it balloons fast. A careless 20-second screen capture can hit 30 MB and turn your README into a slideshow on slow connections. The whole game is keeping it short, small, and legible. That's what the controls below are for.

The GitHub size limits you actually need to know

Two numbers matter. GitHub caps any single file committed through the web interface at 25 MB, and the ceiling for a file pushed via git is 100 MB before it warns or rejects. But those are the technical walls, not your target. A README GIF that loads instantly should sit somewhere between 2 MB and 8 MB. Past that, mobile readers and anyone on hotel wifi watch a gray box.

You have two ways to host it. You can commit the GIF into the repo (often in a docs/ or assets/ folder) and reference it with a relative path, which keeps it under version control and works offline in clones. Or you can drag the finished file into a GitHub issue or the README editor and let GitHub serve it from its user-content CDN, then paste the resulting URL. The first keeps everything self-contained, the second keeps your repo lean. Either way, smaller is better, so build the file small from the start.

Record the demo, then bring the file here

What the GIF converts a video file into a GIF, entirely inside your browser tab. It does not record your screen, so you'll capture the demo with whatever you already have: macOS users hit Cmd+Shift+5, Windows users reach for the Xbox Game Bar, Linux users use OBS or Kazam. Save it as MP4 or MOV and you're set. If you grabbed it from a meeting or a longer capture, the screen recording to GIF page covers that exact workflow.

Then drag that file into the converter. The video never leaves your machine. There's no upload, no account, no server crunching your footage in some datacenter, which is the right default when the recording shows internal tooling or a half-finished feature. It's all client-side JavaScript, so it works the same on a Mac, a Windows box, or a Chromebook, and it keeps going if your wifi drops mid-edit. If staying offline is the whole point, the video to GIF without uploading page explains exactly how that works.

Settings that keep text crisp and the file small

A GIF in a GitHub README lives or dies on two things: readable text and a small file. Here's how to get both at once.

The live estimated file size updates as you adjust, so you're never guessing. Watch it cross under your 2-to-8 MB target before you export. If you're optimizing hard for tiny, the small-file GIF from video page goes deeper on squeezing every kilobyte.

Drop it into the Markdown

Once the GIF is in your repo or hosted by GitHub, the Markdown is one line. Reference it like any image:

Put it high, right under the project title and one-line description, so it's the first thing on screen. Add concise alt text in the brackets for screen readers and for the moment GitHub's CDN hiccups and the image doesn't load. That's it. Commit, push, and your README now shows instead of tells. The same file works anywhere Markdown does, so if you're also shipping a product demo GIF elsewhere, you can reuse it without re-exporting.

Turn your demo into a README GIF

Drag your screen recording in, trim it tight, and export a crisp GIF that stays under GitHub's limits. It all happens in your browser, so nothing gets uploaded. Open the converter and ship a README that shows instead of tells.

Open the converter

Questions, answered

What's the maximum GIF size GitHub allows in a README?
GitHub accepts files up to 25 MB through its web uploader and up to 100 MB via git push. But for a README that loads fast, aim much lower, ideally 2 to 8 MB. Anything bigger drags on mobile and slow connections, which is exactly where first impressions get lost.
How do I keep terminal and code text readable in the GIF?
Crop tight to the text area, downscale to roughly your display width rather than upscaling, and keep the palette at 64 to 128 colors. Monospace text and flat UI stay crisp at lower color counts. Avoid aggressive downscaling that blurs glyphs, and skip heavy dithering on solid backgrounds.
Can What the GIF record my screen for me?
No. It converts a video file you already have into a GIF. Record the demo with your operating system's built-in screen recorder first (Cmd+Shift+5 on Mac, Game Bar on Windows, OBS on Linux), save it as MP4 or MOV, then drag that file in. The tool handles the trimming, cropping, and GIF export.
Is my recording uploaded anywhere when I convert it?
No. The conversion runs entirely in your browser tab with client-side JavaScript. Your video never leaves your machine and there's no server processing, which matters when the recording shows internal tooling or unreleased features. It even keeps working offline once the page has loaded.
Should I commit the GIF to the repo or upload it to GitHub?
Both work. Committing it to a docs or assets folder keeps it under version control and visible in offline clones, referenced with a relative path. Dragging it into a GitHub issue or the README editor lets GitHub serve it from its CDN and keeps your repo lean. Either way, build the file small first.
What frame rate should a README demo GIF use?
Ten to fifteen fps is plenty for a CLI or UI demo. Ten frames a second looks clean for terminal output and roughly halves the file compared to 24 fps. Bump to 15 only if you need smoother cursor or animation motion. There's no reason to render a README GIF at 30 fps.