Drop in a screenshot → wrap it in a gorgeous background with padding, rounded corners, a soft shadow and an optional window frame → export or copy. Optionally auto-redact sensitive info first. 100% local. Free & open source.
A free, native macOS replacement for paid screenshot beautifiers.
The screenshots below are generated by MatteShot itself. To use your own, drop PNGs into
docs/images/and update the links.
![]() |
![]() |
| Gradient backgrounds + padding, radius, shadow | Solid color + light macOS window frame, 1:1 canvas |
![]() |
![]() |
| Dark window frame, 16:9 social canvas | Auto-color background sampled from the image |
| Off | On |
|---|---|
![]() |
![]() |
MatteShot finds and pixelates/blurs sensitive text before you share — entirely on-device via Apple's Vision framework, no network.
| Area | Features |
|---|---|
| Input | Drag & drop · Paste from clipboard (⇧⌘V) · Open file · sample on launch |
| Backgrounds | 7 gradient presets · custom gradient + angle · solid color (picker) · image background · transparent (alpha) · auto-color from image |
| Canvas | Aspect: Auto, 1:1, 16:9, 9:16, 4:3, 3:2, 4:5, Twitter, OG image · image size/scale · alignment (left/center/right) |
| Style | Padding · corner radius · drop shadow · border · macOS window frame (none / light / dark, traffic lights) |
| Privacy | Auto-redact emails, credit cards (Luhn-checked), API keys & tokens (OpenAI/Stripe/GitHub/GitLab/Slack/AWS/Google/JWT/Bearer/PEM), labeled secrets (password:/client_secret=…), IPs, US SSNs, crypto wallets (ETH/BTC), IBANs, MAC addresses, phones · pixelate / blur / black styles |
| Export | PNG / JPEG · 1× / 2× / 3× scale · copy to clipboard · transparent export |
| Trust | 100% local — images never leave your Mac · no telemetry in the shipped build |
MatteShot is built from a small set of Swift modules, all open source and all building from source in this repository:
Sources/Glaze executable (@main) — app entry, menus, settings, logging bootstrap
Sources/GlazeUI library — editor UI + view model
Engines/GlazeEngine library — compositing + Vision-based redaction (the render pipeline, window frame, secret detection)
Packages/Core shared modules — DesignSystem, RemoteConfigKit, LicenseKit, UpdateKit, LogKit, ScreenshotKit
The app ships as MatteShot (display name + App Store listing). Internally the Swift package, modules, bundle ID (
com.plainware.glaze) and the on-disk targets above keep the originalGlazename, so existing identifiers and Firebase config are unchanged.
The render flow is: load image → (optional) run on-device redaction via the Vision framework → composite onto the chosen background with padding, corner radius, shadow, border and an optional macOS window frame → export PNG/JPEG or copy to the clipboard. Everything runs locally; no image data is sent anywhere.
- Feature flags (paid features, in-app updates, force-update) are built but gated OFF via Firebase Remote Config (
RemoteConfigKit) and can be flipped on later with no app update. The app fails open without remote config. GoogleService-Info.plistis not committed (it's gitignored). The app runs fine without it — remote config simply falls back to its built-in defaults and all features behave as configured locally.- Logging: every run writes to
~/Library/Containers/com.plainware.glaze/Data/Library/Logs/Plainware/MatteShot.log(sandboxed) —tail -fit to debug.
Scripts/bundle.sh --package-dir . --product Glaze --name Glaze \
--bundle-id com.plainware.glaze --info-plist Resources/Info.plist \
--entitlements Resources/Glaze.entitlements --icon Resources/AppIcon.icns --openRun the test suite + regenerate App Store screenshots (off-screen, no permissions):
swift run GlazeChecks ./screenshotsA full Xcode install is needed only for archiving/signing a distributable build; the dev loop above works with just the Command Line Tools.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) — see LICENSE. © 2026 Prakhar Gupta.






