Record your screen as a GIF. Instant. Local. No tracking.
ScreenGif is a free, open-source screen recorder that outputs animated GIFs — perfect for UAT feedback, bug reports, and sharing UI interactions with your team. No accounts. No uploads. No BS.
- Drag-to-select any region of your tab (like macOS ⌘⇧4, inside the browser)
- 10fps · max 10 seconds · GIF auto-downloads on stop
- 100% local — zero network requests, no servers, no telemetry
- Keyboard shortcut:
⌘⇧6(Mac) /Ctrl+Shift+6(Windows/Linux)
| Platform | Status |
|---|---|
| Chrome Extension | ✅ Available |
| Safari Extension | ✅ Available |
| macOS Native App | ✅ Available (Electron) |
Coming soon — listing under review.
- Clone this repo
- Open
chrome://extensions - Enable Developer mode (top right toggle)
- Click Load unpacked → select the
chrome-extension/folder - The ScreenGif icon appears in your toolbar
- Click the ScreenGif icon (or press
⌘⇧6) - Record Tab — captures the current tab instantly, no picker dialog — or — Full Screen / Window — opens Chrome's source picker
- Drag on the page to select a region (or skip for full tab)
- Click Stop when you're done (max 10s)
- GIF saves automatically to
~/Downloads
Built with xcrun safari-web-extension-converter from the same source.
xcrun safari-web-extension-converter safari-extension/ --app-name ScreenGifOpen ScreenGif/ScreenGif.xcodeproj in Xcode, build the macOS target, then enable in Safari → Settings → Extensions.
Note: Safari doesn't support chrome.tabCapture, so only Full Screen / Window recording is available (via getDisplayMedia).
Electron app with system tray, global shortcut, and — the key feature over the browser extension — true animated GIF clipboard copy. Paste directly into Linear, Slack, GitHub Issues, or anywhere else with ⌘V.
cd macos-app
npm install
npm startBuild a distributable .dmg:
npm run buildmacOS will prompt for Screen Recording permission on first launch.
| Feature | Chrome Extension | macOS App |
|---|---|---|
| Copy animated GIF to clipboard | ✗ (browser API limitation) | ✅ (⌘V into Linear/Slack) |
| Source picker with thumbnails | Chrome's built-in picker | Custom grid with live thumbnails |
| System tray | ✗ | ✅ |
| Global shortcut | ✅ | ✅ |
| Record current tab only | ✅ (no picker) | ✗ |
GIF renders inline in Linear, Slack, GitHub, and most email clients without requiring a video player or external service. Unlike Loom, a GIF attaches directly to a ticket and plays immediately in context.
| Property | Value |
|---|---|
| FPS | 10fps |
| Max duration | 10 seconds |
| Typical file size | 1–3 MB (cropped UI region) |
| Colors | 256 per frame (great for UI, not photos) |
| Audio | None |
All processing is local. ScreenGif makes zero network requests. Your screen content never leaves your machine. No accounts, no telemetry, no analytics.
Chrome extension permissions:
tabCapture— record the current tab without a picker dialogdownloads— save the GIF to your Downloads folderscripting+activeTab— inject the region-selection overlay into the pageoffscreen— hold the tab media stream while encodingnotifications— show an error if a tab can't be captured (e.g.chrome://pages)
No build step required for the Chrome or Safari extensions. gifenc is bundled at chrome-extension/lib/gifenc.js.
# Update gifenc to latest
npm pack gifenc
tar -xzf gifenc-*.tgz
cp package/dist/gifenc.esm.js chrome-extension/lib/gifenc.js
cp chrome-extension/lib/gifenc.js safari-extension/lib/gifenc.js
cp chrome-extension/lib/gifenc.js macos-app/lib/gifenc.js- Chrome extension — tab capture, region selection, GIF encoding
- Chrome Web Store listing
- Safari extension
- macOS native app — system tray, global shortcut, animated GIF clipboard copy
- gifski integration for higher quality GIF (macOS app only)
- Configurable FPS and duration
- WebP output option
PRs welcome. Please open an issue first for significant changes.
MIT — see LICENSE