jamesmontemagno
tiny-clips
Swift

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

Last updated Jul 5, 2026
66
Stars
9
Forks
13
Issues
0
Stars/day
Attention Score
50
Language breakdown
C# 50.4%
Swift 48.8%
Shell 0.3%
Python 0.3%
PowerShell 0.1%
Ruby 0.0%
โ–ธ Files click to expand
README

Tiny Clips

Build Release GitHub release macOS Windows License: MIT

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.

tiny-clips-promo (1)

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; Windows distributes via winget (winget upgrade) and the Microsoft 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 | | Picker: Region / Screen / Window | R / S / W | | Picker: Cancel | Esc | | 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 | | 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.

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:

releasetaggingcreate_tags version=v1.0.8 mac=true windows=true push=true

ยฉ 2026 GitRepoTrend ยท jamesmontemagno/tiny-clips ยท Updated daily from GitHub