Lightweight screenshot annotations β fast, native, and distraction-free.
π₯ Download Β Β·Β π Website Β Β·Β π Changelog
FeatherShot is a free, open-source screenshot annotation tool. Capture a screen region, annotate it with arrows, numbered steps, and rectangles, then instantly save and copy β all in seconds.
No Dock icon. No bloat. No subscription.
New in v1.3.44: A redesigned editor in the website's look. Screenshots open at their original size (1:1) and shrink to fit only when they are bigger than the window; zoom in, zoom out, Fit and 1:1 sit in the bottom bar (also β/Ctrl + β 0 9 and pinch), and the window is always wide enough for Save & Copy. v1.3.43 on Windows, releasing the mouse always ends the area selection. v1.3.42 every screen is captured before the selector opens and the selection is cropped from that frozen image, Save & Copy shows failures in the toolbar, and Show Log File in the tray menu opens a log for bug reports. v1.3.41 the Windows selector covers the taskbar. v1.3.37 the Windows and Linux downloads no longer include an unused screen-capture library whose helper script two antivirus engines flagged (verify downloads). v1.3.36 every release is scanned on VirusTotal; v1.3.35 Windows and Linux text annotations take every key you type.
| Platform | Format | Requirements |
|---|---|---|
| π macOS | .dmg installer |
macOS 14 (Sonoma) or later |
| πͺ Windows | .exe installer / portable |
Windows 10 or later |
| π§ Linux | .deb / .AppImage |
Ubuntu 22.04+, Debian, Fedora |
| π Chrome | Extension .zip |
Chrome, Edge, Brave, Arc |
Or build from source β see Build Instructions below.
| Platform | Install |
|---|---|
| Windows | choco install feathershot |
| macOS | brew install --cask KurtStevenK/tap/feathershot (tap setup) |
| Debian / Ubuntu | apt-get install feathershot after adding the APT repo |
| Arch Linux | pacman -S feathershot after adding the pacman repo |
- macOS (menu bar): Right-click πͺΆ β Check for Updatesβ¦ (or use
brew upgrade --cask feathershot). Mac App Store and TestFlight installs update through the App Store or TestFlight instead. - Windows / Linux (tray): Right-click tray icon β Check for Updatesβ¦ (the Windows installer version updates in the app, the portable
.exeopens the download page; Linux showsaptorpacmanupgrade hints by distro).
Every release is scanned on VirusTotal. The release notes list each installer's detection count and link to its full multi-engine report. Some engines flag new Electron apps heuristically, so read the whole report rather than a single detection. The two detections on the v1.3.36 Windows and Linux packages came from an unused library's Windows helper script, which v1.3.37 removes. See SECURITY.md.
| Tool | Icon | Description |
|---|---|---|
| Step Arrow β | 1β 2β 3β |
Arrows with auto-incrementing numbered circles at the start β perfect for step-by-step guides and tutorials. Default tool. |
| Step Rectangle | 1β’ 2β’ 3β’ |
Rectangles with auto-incrementing numbered circles at the top-left corner β highlight multiple regions with ordered callouts. |
| Arrow | β |
Draw clean, directional arrows with elegant filled arrowheads. |
| Rectangle | β’ |
Highlight regions with outlined rectangles to draw attention to specific areas. |
| Circle / Ellipse | β― |
Draw circles and ellipses by dragging a bounding box β stroke only, no fill. |
| Line | β± |
Draw simple straight lines without arrowheads. |
| Question Arrow | ?β |
Arrow with a Question Mark circle at the start β perfect for marking unknown or questionable areas. |
| Question Rectangle | ?β’ |
Rectangle with a Question Mark circle at the top-left corner. |
| Exclamation Arrow | !β |
Arrow with an exclamation badge at the start (shortcut -). |
| Exclamation Rectangle | !β’ |
Rectangle with an exclamation badge at the top-left (shortcut =). |
| Text | T |
Free-floating text β click to place, edit inline, drag to position. |
| ABC Arrow | aβ bβ cβ |
Arrows with auto-incrementing lettered circles (a, b, ..., z, aa, ab...) at the start. |
| ABC Rectangle | aβ’ bβ’ cβ’ |
Rectangles with auto-incrementing lettered circles at the top-left corner. |
| Magnifier | π |
Creates a circular zoom lens on the screenshot with configurable zoom (1.5Γβ5Γ). Click to set center, drag to set radius. |
- π¨ Color Picker β Choose any annotation color via the native color wheel.
- π Line Width Slider β Adjust stroke thickness from 2px to 15px.
- β©οΈ Undo / Clear β Step back or wipe all annotations.
- πΎ Save & Copy β Saves a timestamped PNG to
~/Downloadsand copies to clipboard in one click. - β¨οΈ Keyboard Shortcuts (macOS, Windows, Linux) β The key in each tool's tooltip picks it (
1β0,-,=,T,M); βZ / Ctrl+Z undoes and βS / Ctrl+S saves and copies.
- Click the πͺΆ icon in your menu bar (or right-click for options).
- Your cursor becomes a crosshair β select a region of your screen.
- The annotation editor opens β pick a tool, draw, adjust color and width.
- Click Save & Copy β done! Image is on your clipboard and in
~/Downloads.
- FeatherShot appears as a tray icon in your system tray.
- Left-click the icon (or right-click β Take Screenshot).
- A selection overlay appears β drag to select the area you want to capture.
- The annotation editor opens with your selected region.
- Annotate and click Save & Copy.
Tip: The selection overlay spans all connected monitors for multi-monitor support. Press Esc to cancel.
- Click the FeatherShot icon in your browser toolbar.
- A selection overlay appears on the current tab β drag to select an area.
- A new tab opens with the annotation editor showing only the selected region.
- Annotate and click Save & Download.
π macOS (Native Swift App)
Requires Swift 6.0+ on macOS 14 (Sonoma) or later.
git clone https://github.com/KurtStevenK/FeatherShot.git
cd FeatherShot
# Build and run (debug)
swift build
swift test
.build/debug/FeatherShot &
# Build a release DMG
chmod +x build_release.sh
./build_release.shNote: The
&runs FeatherShot in the background so your terminal stays usable.
πͺ Windows / π§ Linux (Electron)
Requires Node.js 20+.
git clone https://github.com/KurtStevenK/FeatherShot.git
cd FeatherShot/electron-app
# Install dependencies
npm install
# Run in development mode
npm start
# Build installer
npm run build:win # Windows .exe
npm run build:linux # Linux .deb + .AppImageπ Chrome Extension
- Clone the repository.
- Open
chrome://extensionsin your browser. - Enable Developer mode (top right).
- Click "Load unpacked" and select the
chrome-extension/directory.
| Permission | Why |
|---|---|
| Screen Recording | Required for screencapture to capture your screen. |
| Accessibility | May be requested depending on macOS security settings. |
Go to System Settings β Privacy & Security to manage these.
No special permissions needed β FeatherShot uses Electron's desktopCapturer API.
| Permission | Why |
|---|---|
| Active Tab | Captures the current tab as a screenshot. |
| Downloads | Saves annotated screenshots to your Downloads folder. |
A lean, 3-file Swift application:
Sources/
βββ AppMain.swift # Menu bar app lifecycle, screen capture, window management
βββ AnnotationView.swift # SwiftUI editor with canvas, toolbar, save/export
βββ DrawingShapes.swift # Tool enum, shape definitions (Arrow, Line, Ellipse, Magnifier, Step variants, Question variants, ABC variants)
shared/
βββ letterLabel.js # Canonical ABC label helper (Electron + Chrome)
βββ letterLabel.cases.json # Cross-platform test vectors (Swift tests + npm verify)
electron-app/
βββ main.js # System tray, area selection, screen capture, window management
βββ renderer/
βββ index.html # Editor UI
βββ style.css # Dark theme stylesheet
βββ app.js # Canvas-based annotation tools
βββ selection.html # Area selection overlay UI
βββ selection.css # Selection overlay styles
βββ selection.js # Selection overlay logic
chrome-extension/
βββ manifest.json # Extension manifest v3
βββ background.js # Content script injection + tab capture
βββ selector.js # Area selection content script (injected into tab)
βββ selector.css # Selection overlay styles (injected into tab)
βββ popup.html/js # Toolbar popup UI
βββ editor.html/css/js # Full annotation editor with crop support
βββ icons/ # Extension icons
Contributions are welcome! Here's how to get started:
- Fork the repository.
- Create a branch for your feature:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push and open a Pull Request.
From the repository root (Node.js 20+):
npm run verify # sync shared JS, letterLabel tests, Chrome manifest checks
swift test # macOS β includes shared letterLabel fixtureSee docs/adding-a-tool.md for a step-by-step walkthrough. Broader conventions: docs/project-conventions.md.
See CHANGELOG.md for a detailed release history.
MIT License β see LICENSE for details.
Copyright Β© 2026 Kurt Steven Kainzmayer
Built with β€οΈ Β· Crafted by Kurt Steven Kainzmayer