Skip to content

Flowdesktech/Snapboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snapboard

A fast, private, all-in-one screenshot & screen utility for Windows.
Capture · Annotate · Blur · OCR · QR scan · Color pick · Measure — all offline, no sign-up, no cloud upload.

.NET Platform UI License Privacy

A privacy-first open-source alternative to Lightshot, Greenshot, and ShareX — built for Windows 10/11 in C# & WPF on .NET 10.


Need a developer for your business idea? Reach out: contact@flowdesk.tech

Table of contents

Why Snapboard

Most screenshot tools on Windows fall into one of three camps: lightweight but feature-starved (Lightshot), powerful but sprawling (ShareX), or paid (SnagIt, PicPick Pro). Snapboard is the middle ground:

  • Zero telemetry, zero cloud uploads. Everything stays on your machine.
  • A single tray app instead of five different utilities for snapshotting, picking colors, measuring, and OCR.
  • Dark-themed, keyboard-driven UI designed to feel native on Windows 11.
  • Open-source & MIT-licensed. Fork it, audit it, extend it.

Written in C# on .NET 10 with WPF, targeting Windows 10 (1903+) and Windows 11.

Features

Screen capture

  • Region capture with click-and-drag selection, live pixel-size readout, and a "Select area" crosshair cursor like Lightshot
  • Window capture (PicPick-style) — a compact dark-themed dropdown listing every visible top-level window (title + process name + icon). Select one and Snapboard instantly copies it to the clipboard, prompts you to save with a pre-filled filename, and fires a single tray toast summarising the result. Uses PrintWindow(PW_RENDERFULLCONTENT) so it works correctly with hardware-accelerated Chromium, Electron, and UWP apps, with a fullscreen-fallback for the edge cases
  • Scrolling capture (PicPick-style, content-only) — hover any scrollable window and Snapboard snaps a red outline around just the content child (Chrome's render widget, Scintilla, Edge, Electron WebView2, etc.) without the title bar, tabs, or toolbars. Click once and Snapboard takes over: it posts WM_MOUSEWHEEL directly to the correct child HWND (so Chrome, Edge, Electron, Slack, Discord, and Cursor all work — not just legacy Win32 controls), captures a frame every 500 ms, detects per-frame overlap, fires a page-sized "booster" scroll before declaring the page done, then stitches, copies to clipboard, opens a save dialog, and toasts. A live red outline tracks the target during capture, and Snapboard's own windows are hidden from captures via WDA_EXCLUDEFROMCAPTURE + physical hide so they never bleed into the stitched output — no manual scrolling, no manual cropping, no window chrome
  • Instant full-screen capture to clipboard + auto-save (great for documentation workflows)
  • Capture mouse cursor toggle — include or exclude the cursor from the shot
  • Per-monitor-v2 DPI awareness — correct coordinates on mixed-DPI multi-monitor setups
  • Copy to clipboard or save as PNG / JPEG (quality configurable)
  • Auto-save after capture option: edited shots go straight to Pictures\Snapboard (or your custom folder) — no file dialog

Annotation toolbar

  • Pen · Rectangle · Arrow · Text · Blur
  • 6-color palette + 3 stroke weights
  • Undo last annotation (Ctrl+Z) — every stroke, shape, and blur rectangle is individually undoable
  • Esc cancels the capture, Enter / Ctrl+C copies, Ctrl+S saves

Pin to screen (Snipaste-style — ShareX doesn't have this)

The killer feature ShareX users keep asking for. After you drag a selection, click Pin in the action bar to "stick" the capture to the screen as a floating, always-on-top card. Keep reference screenshots visible while you type, design, or debug:

  • Always on top, borderless, over any app
  • Drag anywhere on the pin to move it
  • Mouse wheel to zoom (25 %–400 %), Ctrl+0 resets
  • Right-click menu: Copy, Save as…, Opacity (30–100 %), Always-on-top toggle, Close
  • Ctrl+C / Ctrl+S / Esc shortcuts built in
  • Multiple pins at once — stack up as many reference shots as you need

Reverse image search — Google & Bing

One-click reverse image search from the capture toolbar:

  • Search on Google Images — uploads the selection straight to searchbyimage/upload and opens Google Lens results in your browser
  • Search on Bing Visual Search — same flow against Bing's visual-search endpoint
  • No third-party image host. The bitmap goes directly from Snapboard to the search engine — nothing is stored anywhere else
  • If the engine rejects the upload, Snapboard falls back to copying the image to your clipboard and opening the search page so you can Ctrl+V to continue

Privacy-first blur tool

Drag a rectangle over passwords, API tokens, email addresses, account numbers — anything sensitive — and the region is pixelated with a fast downscale/upscale blur. Layer multiple blurs; all of them survive copy-to-clipboard and save-to-file.

OCR (optical character recognition)

  • Hotkey: Ctrl+Shift+O by default
  • Select a region and Snapboard runs OCR on it via the built-in Windows.Media.Ocr engine — no downloads, no external services
  • Works against the installed Windows display / keyboard language packs (English out of the box, many others available in Windows Settings → Time & Language → Language & region)
  • Result opens in a dark-themed window where you can review and Copy all — or Snapboard gives up gracefully with a tray toast if nothing was recognized

QR code & barcode scanner

  • Hotkey: Ctrl+Shift+Q by default
  • Drag a rectangle around any QR code, barcode, or 2D symbol on screen — Snapboard decodes it entirely offline via ZXing.Net
  • Recognizes QR, Data Matrix, Aztec, PDF-417, Code 128 / 39, EAN-13 / 8, UPC-A / E, and ITF barcodes
  • Automatic upscale-and-retry for tiny selections and colour-inversion fallback for light-on-dark QR codes (very common in dark-themed apps) so small or stylised codes still decode
  • Handles multiple codes in one selection (e.g. share sheets that show a QR + serial number side by side)
  • Result opens in a dark modal with the decoded payload, a Copy button, and — when the payload is an http(s) URL — a one-click Open link button that launches your default browser. Custom schemes (file:, javascript:, app handlers) require manual copy-paste by design, for safety

Color picker (PicPick-style)

  • Hotkey: Ctrl+Shift+C by default
  • Fullscreen magnifier overlay with a crosshair and live HEX / RGB / HSL readout
  • Click anywhere on any monitor to copy the color to the clipboard

Pixel ruler (PicPick-style)

  • Hotkey: Ctrl+Shift+R by default
  • Borderless floating ruler, always on top
  • Horizontal or vertical with clean dimension-preserving orientation flip
  • Click-and-drag to move, drag the far edge to resize the length
  • Proper resize cursors ( / ) in the resize zone, arrow cursor elsewhere
  • Opacity presets (100 / 90 / 80 / 65 / 50 / 35 %) for overlaying on designs
  • Dark-themed gear menu (right-click also opens it) — matches the rest of the app

System-wide hotkeys

Every tool has its own configurable global hotkey:

Tool Default
Region capture PrtScn
Instant full-screen Ctrl+PrtScn
Color picker Ctrl+Shift+C
OCR on selection Ctrl+Shift+O
Scan QR code Ctrl+Shift+Q
Pixel ruler Ctrl+Shift+R

Snapboard detects hotkey conflicts at startup (e.g. if another app has already claimed PrtScn) and surfaces them three ways: a tray balloon, a red footer banner on the dashboard, and an inline warning inside the Settings dialog.

The tray menu also prints the active hotkey next to every action — right-aligned, muted, native-looking — so you always know what combo triggers what without opening Settings.

Settings dashboard

  • Rebind every hotkey via a custom recorder control (press the keys, done)
  • Toggle Capture cursor on screenshot
  • Toggle Tray single-click = start capture (off = tray opens the menu only)
  • Toggle Launch at Windows sign-in — auto-starts to the tray (no dashboard flash), per-user HKCU\...\Run entry so no UAC prompt
  • Choose default output format (PNG or JPEG + quality slider)
  • Set a custom save directory
  • Opt in to Auto-save after capture for one-click documentation flows
  • Persists to %APPDATA%\Snapboard\settings.json — safe to sync or back up

Dark theme everywhere

Native Windows title bars are set to immersive dark mode via the DWM API on all Snapboard windows (dashboard, Settings, OCR result, ruler). No flash of white on open, no mismatched menus.

Auto-update (GitHub-powered, privacy-respecting)

Snapboard checks the public GitHub Releases API once on startup and once every 24 h while it's running. When a newer version is out, a dark-themed prompt shows the release notes and three choices:

  • Download and install — the installer is fetched to %TEMP%\Snapboard-Updates, launched silently (/SILENT /SUPPRESSMSGBOXES /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS), and Snapboard quits so the upgrade can complete in place.
  • Remind me later — no persistent state; we re-ask on the next daily check.
  • Skip this version — remembered in settings.json so automatic checks stop nagging for that specific release (manual checks still show it).

Everything about the check is transparent:

  • No telemetry, no analytics — just an unauthenticated GET /repos/Flowdesktech/Snapboard/releases/latest with a descriptive User-Agent.
  • Toggle it off any time in Settings → Updates → "Check for updates automatically".
  • Manually trigger from the tray menu (Check for updates…) or from the Settings UPDATES card.

Snapboard vs. Lightshot / PicPick / Greenshot / ShareX

Snapboard Lightshot PicPick Greenshot ShareX
Region capture
Window capture (dropdown → clipboard + save dialog)
Scrolling capture (auto-scroll + auto-stitch)
Annotation tools
Sensitive-data blur tool
OCR on selection
QR / barcode scan on selection
Color picker
Pixel ruler
Pin screenshot to screen (Snipaste-style)
Reverse image search (Google / Bing) (Google only, paid upload)
100 % offline / no cloud
No account, no sign-up
Native dark theme
Dashboard app (not only tray) ~
Free for commercial use
Open source
License MIT Proprietary Proprietary GPL GPL

Snapboard now matches ShareX on every capture mode (region, window, scrolling) and keeps the features ShareX never shipped: pin-to-screen (Snipaste-style) and one-click reverse image search. No second app, no paid tier, no workflow YAML to configure.

Snapboard is still deliberately scoped: it does not ship FTP/Imgur/Dropbox uploaders, screen recording, or workflow automation. If you want those, ShareX is still the king. Snapboard exists for people who want a fast, focused, private all-in-one capture toolkit with a clean dark UI.

Quick start

  1. Grab the latest release — or build from source (see below)
  2. Run Snapboard.exe. It minimizes straight to the system tray; the dashboard opens once on first launch
  3. Press PrtScn (or double-click the tray icon) anywhere in Windows to start a capture
  4. Drag to select, annotate if you want, then Enter to copy or Ctrl+S to save

That's it. Full shortcut reference below.

Keyboard shortcuts

Global (system-wide)

Action Default shortcut
Start region capture PrtScn
Instant full-screen save Ctrl+PrtScn
Color picker Ctrl+Shift+C
OCR on selection Ctrl+Shift+O
Scan QR code Ctrl+Shift+Q
Pixel ruler Ctrl+Shift+R

All are rebindable under Settings → Hotkeys.

Inside the capture window

Action Shortcut
Copy to clipboard Enter / Ctrl+C
Save to file Ctrl+S
Undo last annotation Ctrl+Z
Cancel Esc

Toolbar buttons also expose Pin, Search on Google, and Search on Bing.

Inside a pinned screenshot

Action Shortcut
Copy pin to clipboard Ctrl+C
Save pin to file Ctrl+S
Reset zoom Ctrl+0
Zoom in / out Ctrl+= / Ctrl+- / mouse wheel
Close pin Esc

Inside the pixel ruler

Action Shortcut
Toggle orientation Space
Force horizontal H
Force vertical V
Close Esc

Settings

Open from the tray menu or the dashboard's Settings button. The file lives at:

%APPDATA%\Snapboard\settings.json

Example:

{
  "CaptureHotkey": "PrintScreen",
  "InstantFullScreenHotkey": "Ctrl+PrintScreen",
  "ColorPickerHotkey": "Ctrl+Shift+C",
  "OcrHotkey": "Ctrl+Shift+O",
  "QrHotkey": "Ctrl+Shift+Q",
  "PixelRulerHotkey": "Ctrl+Shift+R",
  "CaptureCursor": false,
  "TrayClickCaptures": true,
  "DefaultFormat": "png",
  "JpegQuality": 92,
  "SaveDirectory": "",
  "AutoSaveAfterCapture": false
}

Auto-saves go to Pictures\Snapboard\ unless SaveDirectory is set.

How the Blur tool works

When the capture window opens, Snapboard pre-renders a downscale/upscale-blurred copy of the screenshot in memory. When you drag a rectangle with the Blur tool, that region is swapped with the corresponding slice of the blurred bitmap. Multiple blur rectangles can be layered, and each one is independently undoable.

See Snapboard/Helpers/BlurHelper.cs and Snapboard/CaptureWindow.xaml.csCommitBlur.

How OCR works

Snapboard uses Windows.Media.Ocr (built into Windows 10/11) — no Tesseract download, no cloud API:

  1. You press the OCR hotkey and drag a selection
  2. The overlay closes immediately and hands the cropped bitmap off to a background thread
  3. A tray toast says "Reading text…" while the OCR engine runs (with a 45 s cancellation timeout)
  4. On success, a dark result window opens with the extracted text and a Copy all button
  5. On no-text / engine-error / timeout, you get a tray toast with the specific reason

Critically the OCR runs entirely off the UI thread, so your desktop is never frozen while the engine is working.

See Snapboard/Ocr/OcrService.cs and Snapboard/App.xaml.csStartOcrFromBitmap.

How QR scanning works

Snapboard uses ZXing.Net (the canonical Windows port of Google's barcode library) with a small amount of preprocessing that dramatically improves real-world hit rate:

  1. You press the QR hotkey (Ctrl+Shift+Q) and drag a purple selection rectangle over the symbol
  2. The overlay closes immediately and the cropped bitmap is decoded on a background thread with TryHarder, TryInverted, AutoRotate, and DecodeMultiple all enabled
  3. If the first pass fails, Snapboard tries a 3× upscale (great for tiny codes printed inside a dashboard) and a colour-inverted pass (great for light-on-dark "dark mode" QRs), then returns the union of every unique code found
  4. The dark result modal shows the decoded text verbatim. If it's an http:// or https:// URL, an Open link button appears; otherwise you get Copy (and can paste the payload anywhere)

All decoding happens 100% locally — the selection bitmap never leaves your machine. See Snapboard/Qr/QrService.cs and Snapboard/App.xaml.csStartQrFromBitmap.

The pixel ruler

A PicPick-style floating ruler, always on top, borderless.

  • Drag anywhere on the ruler body to move it
  • Drag the far edge (right edge when horizontal, bottom edge when vertical) to resize its length
  • The cursor switches to / only in the resize zone — arrow everywhere else
  • Hover the ruler to get a live "N px" readout at the cursor position
  • Click the gear (or right-click anywhere) for: Horizontal / Vertical / Always on top / Opacity / Reset size / Close

Orientation flips are a pure transposition: a horizontal 1200 × 72 ruler becomes a vertical 72 × 1200 ruler, and back again, preserving whatever length you've resized to.

See Snapboard/Ruler/PixelRulerWindow.xaml.cs.

The color picker

  • Fullscreen overlay with a magnifier (shows nearby pixels at ~8×) and a crosshair
  • Live HEX / RGB / HSL readout in a pill at the top of the screen
  • Click to copy the hex value to the clipboard; Esc to cancel
  • Works across all monitors in a multi-monitor setup

See Snapboard/ColorPicker/ColorPickerWindow.xaml.cs.

Build from source

Requires the .NET 10 SDK on Windows 10 (1903+) / Windows 11.

# Clone, then from the repository root
dotnet build Snapboard\Snapboard.csproj -c Release
dotnet run  --project Snapboard -c Release

Or open Snapboard.sln in Visual Studio 2022 (17.10+) and press F5.

Single-file publish

dotnet publish Snapboard -c Release -r win-x64 --self-contained false /p:PublishSingleFile=true

The resulting Snapboard.exe will land in Snapboard\bin\Release\net10.0-windows10.0.19041.0\win-x64\publish\.

Self-contained (no .NET runtime required on the target PC)

dotnet publish Snapboard -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true

Project layout

Snapboard/
  App.xaml(.cs)                  Tray icon, global hotkeys, OCR/capture dispatcher
  MainWindow.xaml(.cs)           Dashboard (Capture / Utilities / Status)
  CaptureWindow.xaml(.cs)        Fullscreen overlay, selection + annotations
  WindowCaptureDialog.xaml(.cs)  Dark-themed dropdown picker → clipboard + SaveFileDialog + toast
  SettingsWindow.xaml(.cs)       Hotkeys · Output · Capture behavior

  ScrollingCapture/
    ScrollingSelectorWindow.xaml(.cs)   Click-picker: red-outlines the deepest scrollable child (content area, no chrome)
    ScrollingSessionWindow.xaml(.cs)    Auto-scroll loop (WM_MOUSEWHEEL + booster verify) → stitch → clipboard + SaveFileDialog
    ScrollingTargetOutlineWindow.xaml(.cs)  Click-through red outline overlay that tracks the target during capture

  ColorPicker/
    ColorPickerWindow.xaml(.cs)  Fullscreen magnifier + HEX/RGB/HSL readout

  Ocr/
    OcrSelectionWindow.xaml(.cs) Region selector for OCR (non-blocking)
    OcrResultWindow.xaml(.cs)    Dark result viewer + Copy all
    OcrService.cs                Thin wrapper around Windows.Media.Ocr

  Qr/
    QrSelectionWindow.xaml(.cs)  Region selector for QR / barcode decoding
    QrResultWindow.xaml(.cs)     Dark result modal + Copy / Open link
    QrService.cs                 ZXing.Net wrapper with upscale + invert fallbacks

  Ruler/
    PixelRulerWindow.xaml(.cs)   PicPick-style floating ruler

  Settings/
    AppSettings.cs               Serializable settings model
    SettingsService.cs           JSON persistence under %APPDATA%\Snapboard
    HotkeySpec.cs                "Ctrl+Shift+R"-style parser → Win32 modifiers

  Helpers/
    HotkeyManager.cs             RegisterHotKey / UnregisterHotKey wrapper
    ScreenCapture.cs             GDI screen grab + WPF interop
    WindowEnumerator.cs          EnumWindows + PrintWindow + DWM cloak filtering
    ImageStitcher.cs             Multi-strip overlap correlation + near-identical frame detection
    BlurHelper.cs                Fast approximate blur (downscale + upscale)
    BitmapSaver.cs               PNG/JPEG encode + auto-save path resolver
    DarkTitleBar.cs              DWM immersive dark mode helper
    CaptureAffinity.cs           SetWindowDisplayAffinity / WDA_EXCLUDEFROMCAPTURE helper

  Updates/
    UpdateService.cs             GitHub Releases check + installer download
    UpdatePromptWindow.xaml(.cs) Dark prompt with release notes + Install / Later / Skip

  Controls/
    HotkeyBox.cs                 Keyboard-recorder control for Settings

  Assets/                        App icon (multi-res .ico)
  app.manifest                   Per-monitor-v2 DPI awareness

FAQ

Does Snapboard upload my screenshots anywhere? No. There is no network code in the app — no Imgur, no Lightshot cloud, no telemetry. Block it from reaching the internet with Windows Firewall if you want to be sure.

Which Windows versions are supported? Windows 10 version 1903 (May 2019 Update) and later, and Windows 11. The OCR feature uses Windows' built-in OCR engine which is also available on those versions.

Can I use a hotkey that's already in use by another app (Screen Sketch, OneDrive, NVIDIA Overlay, etc.)? Snapboard will detect the conflict at startup and show a red banner in the dashboard plus a tray balloon listing the failed hotkey(s). Open Settings → Hotkeys and pick something else, or disable the conflicting app's hotkey.

How do I add more OCR languages? Install the language in Windows Settings → Time & Language → Language & region, make sure the "Basic typing" / "Optical character recognition" feature is installed, then restart Snapboard. The OCR engine automatically picks the best match for what's on the screen.

Where are screenshots saved? By default to %USERPROFILE%\Pictures\Snapboard\. You can change this in Settings.

Does it support multiple monitors? The overlay windows (capture, color picker, OCR selection) work across all monitors. The pixel ruler also spans monitors. Mixed-DPI setups are handled via Per-Monitor-V2 awareness.

Can I run Snapboard on startup? Yes — open Settings → Startup and tick "Launch Snapboard when I sign in to Windows". Snapboard registers itself under HKCU\Software\Microsoft\Windows\CurrentVersion\Run (per-user, no admin rights required) and is auto-launched with the --autostart flag so it boots silently to the tray — your capture hotkey is immediately available without a dashboard window flashing on every sign-in. The Windows installer also exposes the same option as a checkbox during setup.

Roadmap

  • Pinned floating screenshots — shipped in 0.1
  • Scrolling capture with PicPick-style content-area detection — shipped in 0.2
  • QR / barcode scanner on selection — shipped in 0.2
  • In-app auto-update from GitHub Releases — shipped in 0.2
  • Whiteboard mode — blank or screenshot-backed canvas for quick sketching
  • Multi-monitor virtual-desktop capture in one shot
  • Shape library — numbered callouts, speech bubbles
  • Export directly to common targets (clipboard-as-image is already supported; add clipboard-as-file, drag-out)
  • Localization (English-only today)

Suggestions & issues welcome — open a GitHub issue or email contact@flowdesk.tech.

License

MIT © 2026 FlowDesk. Free for personal and commercial use.


Keywords: Windows screenshot tool, Lightshot alternative, Greenshot alternative, ShareX alternative, free open-source screenshot app, screen annotation, blur sensitive information, OCR Windows, QR code scanner Windows, barcode reader desktop, scrolling screenshot, color picker Windows, pixel ruler, PicPick alternative, privacy-first screen capture, C#, WPF, .NET 10.