Tiny Clips

A lightweight menu-bar (macOS) and system-tray (Windows) app for capturing screenshots (PNG),
video (MP4), and animated GIFs of a selected screen region — on macOS and Windows.

Features
- Screenshot — Select a region, screen, or window and capture a PNG screenshot
- Video Recording — Record to MP4 with hardware-accelerated H.264 encoding
- GIF Recording — Record a screen region as an animated GIF
- Capture Picker — Choose Region, Screen, or Window before any capture
- Editor & Trimmers — Post-capture screenshot editor plus video and GIF trimmers
- Menu Bar / Tray App — Lives in the macOS menu bar or Windows system tray with no Dock/taskbar icon
- Region Selection — Drag to select any portion of any screen
- Global Hotkeys — Quick capture from anywhere
- Configurable — Save location, clipboard, reveal-in-Finder/Explorer, GIF quality, trimmer toggles, and more
> macOS uses Sparkle for auto-updates. On Windows, installs made through the .appinstaller update automatically with MSIX App Installer, winget installs update with winget upgrade, and Microsoft Store installs update through the Store.
macOS
Requirements
- macOS 15.0 (Sequoia) or later
- Xcode 16.0 or later (to build from source)
Installation
Homebrew
brew tap jamesmontemagno/tiny-clips https://github.com/jamesmontemagno/tiny-clips
brew trust jamesmontemagno/tiny-clips 2>/dev/null || true
brew install --cask tiny-clips
The brew trust line is only needed on Homebrew versions that require trust for non-official taps; it safely no-ops elsewhere.
Download
Download the latest release from the Releases page.
Build from Source
- Clone the repository:
git clone https://github.com/jamesmontemagno/tiny-clips.git
cd tiny-clips
- Open in Xcode:
open mac/TinyClips.xcodeproj
- Add the Sparkle package dependency (see Sparkle Setup)
- Build and run (⌘R)
Permissions
TinyClips requires Screen Recording permission. On first launch, macOS will prompt you to grant access. After granting, restart the app.
Keyboard Shortcuts
| Action | Shortcut |
|---|
| Screenshot | ⌃⌥⌘5 |
| Record Video | ⌃⌥⌘6 |
| Record GIF | ⌃⌥⌘7 |
| Screenshot Region (no picker) | Not set by default; configure in Settings > Shortcuts |
| Screenshot Window (no picker) | Not set by default; configure in Settings > Shortcuts |
| Screenshot Screen (no picker) | Not set by default; configure in Settings > Shortcuts |
| Copy Text from Region | Not set by default; configure in Settings > Shortcuts |
| Picker: Region / Screen / Window | R / S / W |
| Picker: Cancel | Esc |
| Screenshot editor: Close | Esc / ⌘W |
| Stop Recording | ⌘. |
| Settings | ⌘, |
Windows
A native WinUI 3 / Windows App SDK port lives under /windows.
Requirements
- Windows 11 22H2 (build 22621) or later
- .NET 10 SDK and Windows SDK
10.0.26100 (to build from source)
Installation
winget — Tiny Clips is published in the winget community repository, so you can install it from any Windows 11 terminal:
winget install Refractored.TinyClips
Keep it up to date with:
winget upgrade Refractored.TinyClips
A Microsoft Store listing (with optional Pro add-ons) is planned.
Build from Source
WinUI 3 requires an explicit platform (x64 or ARM64; AnyCPU is not supported).
dotnet restore windows/TinyClips.Windows.slnx
dotnet run --project windows/src/TinyClips.App/TinyClips.App.csproj -c Debug -p:Platform=x64
See the Windows README for full build, layout, and CI details.
Keyboard Shortcuts
| Action | Shortcut |
|---|
| Screenshot | Ctrl+Shift+5 |
| Screenshot Region (no picker) | Not set by default; configure in Settings > Keyboard shortcuts |
| Screenshot Window (no picker) | Not set by default; configure in Settings > Keyboard shortcuts |
| Screenshot Screen (no picker) | Not set by default; configure in Settings > Keyboard shortcuts |
| Record Video | Ctrl+Shift+6 |
| Record GIF | Ctrl+Shift+7 |
| Picker: Region / Screen / Window | R / S / W |
| Picker: Cancel | Esc |
| Stop Recording | Ctrl+Shift+S |
Usage
- Click the Tiny Clips icon in the menu bar (macOS) or system tray (Windows)
- Choose Screenshot, Record Video, or Record GIF
- Choose Region, Screen, or Window in the capture picker (with an optional countdown)
- For region recordings, confirm audio/mic options in the floating Record panel
- Click the floating Stop button when done (or use the stop shortcut)
Settings
| Option | Description |
|---|
| Save Directory | Where captures are saved (default: Pictures/TinyClips) |
| Copy to Clipboard | Auto-copy captures to clipboard |
| Reveal in Finder / Explorer | Reveal the saved file after capture |
| GIF Frame Rate | 5–30 fps (default: 10) |
| GIF Max Width | 320–1920 px (default: 640) |
| Video Frame Rate | 24, 30, or 60 fps |
| Open Trimmer | Show trim editor after recording |
Sparkle Setup (macOS)
Sparkle must be added manually via Xcode:
- Open
mac/TinyClips.xcodeproj in Xcode
- Go to File → Add Package Dependencies...
- Enter URL:
https://github.com/sparkle-project/Sparkle
- Select version rule: Up to Next Major Version from
2.8.1
- Add the
Sparkle framework to the TinyClips target
See docs/sparkle-setup.md for full setup including key generation.
App Store / Store Variants
Architecture
macOS
ScreenCaptureKit (SCStream / SCScreenshotManager)
│
├── ScreenshotCapture → CGImageDestination → PNG
├── VideoRecorder → AVAssetWriter → MP4
└── GifWriter → CGImageDestination → GIF
Windows
Windows.Graphics.Capture (Direct3D11CaptureFramePool)
│
├── ScreenshotService → BitmapEncoder → PNG/JPEG
├── VideoRecordingService → Media Foundation → H.264 MP4
└── GifRecordingService → BitmapEncoder → GIF
See CONTRIBUTING.md and the Windows README for component-level detail.
License
MIT License. See LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Found a bug or have a feature request? Open an issue.
Project Canvas
The TinyClips Team Load canvas shows what each teammate and the Copilot coding agent is working on across the app, website, and marketing repositories, so new work goes to whoever has room. Every person has a load meter and a profile with their momentum and assigned work. A Momentum chart tracks daily commits, PRs, and issues over 7 (default), 30, or 90 days and is cached for an hour. Unowned issues can be assigned to a person or Copilot, and an issue that already has an owner can have assignees added or removed. Open tinyclips-team-load in a Copilot host with project canvas support. The people and repositories you track are chosen in the canvas and saved in your Copilot home, not the repository.
Release Tagging Helpers
Create one or both release tags by selecting platforms (--mac, --windows):
pwsh -File scripts/create-release-tags.ps1 v1.0.8 -Mac -Windows -Push
# creates: v1.0.8-mac and v1.0.8-windows
scripts/create-release-tags.sh v1.0.8 --mac --windows --push
# creates: v1.0.8-mac and v1.0.8-windows
Copilot extension tool is also available in this repo:
release_tagging_create_tags version=v1.0.8 mac=true windows=true push=true