Free, open-source screenshot tool. Capture, annotate, and share with a single hotkey.
See the code
Yoink: All-in-one open-source ShareX alternative
Fork of jasperdevs/yoink with UX improvements for the capture overlay workflow.
Capture, annotate, OCR, translate, make stickers, record video, save locally, search images with OCR, and many more features.
This fork is based on jasperdevs/yoink v0.8.3.2 and includes the following changes:
The Windows RegisterHotKey() API cannot intercept the Print Screen key because the OS handles it at a lower level. This fork adds a low-level keyboard hook (WH_KEYBOARD_LL) that catches Print Screen before Windows processes it, so it can be used as a capture hotkey.
The snapshot preview toast now includes an always-visible Upload pill button in the lower-left corner. Clicking it kicks off an upload to your configured destination and swaps the preview for a pinned "Uploading to {host}…" status toast, which is then replaced by the usual success toast (URL copied to clipboard) or an error toast. This replaces the removed "auto-upload after capture" option: uploads are now explicit, one-click, and opt-in per capture.
The "Auto-upload screenshots / GIFs / videos" settings have been removed entirely. Automatically sending every screenshot to a remote host was too easy to trip over (accidentally shipping sensitive content to Imgur, getting rate-limited silently, etc.). Uploads are now only triggered by the explicit Upload button on the preview toast.
Imgur ships with a built-in public Client-ID for anonymous uploads (~1,250 uploads/day shared across all Yoink users). Previously the upload flow would refuse to start with "No API key configured" even though the fallback was in place; now selecting Imgur as an upload destination works out-of-the-box without entering a personal Client-ID. Users who want their own rate-limit bucket can still configure one in Settings → Uploads.
Auto-update checks now point to havedill/yoink releases instead of the upstream repository.
Grab the latest release from the Releases page.
Upstream releases are available at jasperdevs/yoink.
Yoink can turn captures into stickers by removing the background, then saving, previewing, copying, and uploading them like normal images.
remove.bg, PhotoroomU2Netp, BRIA RMBGYoink can extract text from any region of your screen and translate it instantly. OCR results open in a dedicated window where you can edit, copy, or translate the text.
Search your image history by filename, OCR text, and semantic matching, so you can find screenshots by what they say or by what they show.
| Action | Hotkey |
|---|---|
| Screenshot | Alt + `` |
| OCR | Alt + Shift + `` |
| Color picker | Alt + C |
| QR/barcode scanner | Unassigned |
| Sticker | Unassigned |
| Fullscreen capture | Unassigned |
| Active window capture | Unassigned |
| Scroll capture | Unassigned |
| Ruler | Unassigned |
| Record | Unassigned |
| Annotation tools | 1-9, 0, -, =, [, ], \ |
Annotation tool hotkeys can be configured in settings, and hover tooltips reflect the real assigned key.
Yoink can upload screenshots, stickers, and recordings after capture. Upload targets include:
Imgur, ImgBB, Catbox, Litterbox, Gyazo, file.io, and UguuDropbox, Google Drive, OneDrive, Azure Blob, and S3-compatible storageGitHub, Immich, FTP, SFTP, WebDAV, and Custom HTTPAvailability depends on the target service and your credentials.
Sticker uploads use the same upload destinations as normal image uploads.
Requires .NET 9 SDK.
git clone https://github.com/havedill/yoink.git
cd yoink
dotnet publish src/Yoink/Yoink.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o release
This writes the self-contained single-file app under release/. GitHub Actions uses the folder name publish/ instead; both are valid—only the -o path differs.
From the repo root, Windows PowerShell:
.\scripts\build.ps1
Optional: -Rid win-x86 / win-arm64, -SkipTests if you need to bypass tests. Published files go to release/ by default; the zip is dist/Yoink-{version}-win-x64.zip (version comes from src/Yoink/Yoink.csproj).
Assets)PublishSingleFile bundles the main executable and dependencies into Yoink.exe, but the publish output is not literally one file. The project copies Assets/Clip/** next to the exe (local CLIP / semantic image-search runtime files loaded from disk). Ship the extracted folder as-is—do not distribute only Yoink.exe without that Assets/Clip tree or bundled image search will not find its models.
Provider icons under src/Yoink/Assets (PNG/SVG) are WPF resources compiled into the app; they are not loose files in the zip. The top-level assets/ folder in the repo (banner, screenshots for this README) is not part of the application build.
This project is a fork of jasperdevs/yoink, licensed under GPL-3.0. All credit for the core application goes to the original authors.
C#
94.4%
TypeScript
4.8%
Free, open-source screenshot tool. Capture, annotate, and share with a single hotkey.
See the code
Yoink: All-in-one open-source ShareX alternative
Fork of jasperdevs/yoink with UX improvements for the capture overlay workflow.
Capture, annotate, OCR, translate, make stickers, record video, save locally, search images with OCR, and many more features.
This fork is based on jasperdevs/yoink v0.8.3.2 and includes the following changes:
The Windows RegisterHotKey() API cannot intercept the Print Screen key because the OS handles it at a lower level. This fork adds a low-level keyboard hook (WH_KEYBOARD_LL) that catches Print Screen before Windows processes it, so it can be used as a capture hotkey.
The snapshot preview toast now includes an always-visible Upload pill button in the lower-left corner. Clicking it kicks off an upload to your configured destination and swaps the preview for a pinned "Uploading to {host}…" status toast, which is then replaced by the usual success toast (URL copied to clipboard) or an error toast. This replaces the removed "auto-upload after capture" option: uploads are now explicit, one-click, and opt-in per capture.
The "Auto-upload screenshots / GIFs / videos" settings have been removed entirely. Automatically sending every screenshot to a remote host was too easy to trip over (accidentally shipping sensitive content to Imgur, getting rate-limited silently, etc.). Uploads are now only triggered by the explicit Upload button on the preview toast.
Imgur ships with a built-in public Client-ID for anonymous uploads (~1,250 uploads/day shared across all Yoink users). Previously the upload flow would refuse to start with "No API key configured" even though the fallback was in place; now selecting Imgur as an upload destination works out-of-the-box without entering a personal Client-ID. Users who want their own rate-limit bucket can still configure one in Settings → Uploads.
Auto-update checks now point to havedill/yoink releases instead of the upstream repository.
Grab the latest release from the Releases page.
Upstream releases are available at jasperdevs/yoink.
Yoink can turn captures into stickers by removing the background, then saving, previewing, copying, and uploading them like normal images.
remove.bg, PhotoroomU2Netp, BRIA RMBGYoink can extract text from any region of your screen and translate it instantly. OCR results open in a dedicated window where you can edit, copy, or translate the text.
Search your image history by filename, OCR text, and semantic matching, so you can find screenshots by what they say or by what they show.
| Action | Hotkey |
|---|---|
| Screenshot | Alt + `` |
| OCR | Alt + Shift + `` |
| Color picker | Alt + C |
| QR/barcode scanner | Unassigned |
| Sticker | Unassigned |
| Fullscreen capture | Unassigned |
| Active window capture | Unassigned |
| Scroll capture | Unassigned |
| Ruler | Unassigned |
| Record | Unassigned |
| Annotation tools | 1-9, 0, -, =, [, ], \ |
Annotation tool hotkeys can be configured in settings, and hover tooltips reflect the real assigned key.
Yoink can upload screenshots, stickers, and recordings after capture. Upload targets include:
Imgur, ImgBB, Catbox, Litterbox, Gyazo, file.io, and UguuDropbox, Google Drive, OneDrive, Azure Blob, and S3-compatible storageGitHub, Immich, FTP, SFTP, WebDAV, and Custom HTTPAvailability depends on the target service and your credentials.
Sticker uploads use the same upload destinations as normal image uploads.
Requires .NET 9 SDK.
git clone https://github.com/havedill/yoink.git
cd yoink
dotnet publish src/Yoink/Yoink.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o release
This writes the self-contained single-file app under release/. GitHub Actions uses the folder name publish/ instead; both are valid—only the -o path differs.
From the repo root, Windows PowerShell:
.\scripts\build.ps1
Optional: -Rid win-x86 / win-arm64, -SkipTests if you need to bypass tests. Published files go to release/ by default; the zip is dist/Yoink-{version}-win-x64.zip (version comes from src/Yoink/Yoink.csproj).
Assets)PublishSingleFile bundles the main executable and dependencies into Yoink.exe, but the publish output is not literally one file. The project copies Assets/Clip/** next to the exe (local CLIP / semantic image-search runtime files loaded from disk). Ship the extracted folder as-is—do not distribute only Yoink.exe without that Assets/Clip tree or bundled image search will not find its models.
Provider icons under src/Yoink/Assets (PNG/SVG) are WPF resources compiled into the app; they are not loose files in the zip. The top-level assets/ folder in the repo (banner, screenshots for this README) is not part of the application build.
This project is a fork of jasperdevs/yoink, licensed under GPL-3.0. All credit for the core application goes to the original authors.
C#
94.4%
TypeScript
4.8%