SnappyRef

A fast reference board for visual work.

Collect and arrange images, annotate ideas, and search by meaning or image, all on your device.

Free No account
Latest: v0.3.3 Oct 17, 2026 View release All releases

Download the folder zip for your platform, extract it, and run SnappyRef from a writable location so updates can install automatically.

The core workflow in one app.

SnappyRef keeps reference work local: search, import, layout tools, shortcuts, and storage.

Semantic Search

Search by meaning when you do not remember the filename or Board.

Image Search

Use an image as the query and find visually similar references in your Library.

Auto Scale and Layout

Clean up messy Boards by moving, scaling, rotating, snapping, and compacting Placements.

Keybind-first Design

Import, duplicate, arrange, search, and switch modes without reaching for menus.

Local-first

Boards, Assets, annotations, settings, and the search index stay on your machine.

Optimized Import

Drop files, paste images, or import by URL. Common image formats work out of the box.

Free now, free always.

SnappyRef is built by one person and shared for free. If it earns a place in your workflow, you can support development on Ko-fi. It's a gift, not a license fee.

Release Notes

View

What's new in 0.3.3

This release fixes problems found on Windows, plus a few rough edges in grouping, search and importing.

Importing images

  • Drag images straight from websites (Windows). Dropping an image from a browser now imports it. Before, Windows refused the drop because the app only accepted files. Linked images and image links without a file extension land as the image itself, on macOS too.
  • JPEG XL without a .jxl name imports. Pasted JPEG XL images, links without the extension, and misnamed files used to fail.

Canvas

  • No leftover snap guide after grouping. Grouping freshly dropped images used to leave a snap guide drawn on the canvas until you selected something else.

Semantic Search

  • Searching by an image right after installing waits instead of failing. It used to show "Search error" until indexing reached that image. Now it shows "Indexing…", indexes that image first and shows results on its own.

Sidebar

  • "Always on top" is readable on Windows. Its Ctrl Shift T shortcut used to cover the label. The sidebar is a little wider to fit Windows shortcut labels.
View

What's new in 0.3.2

This release is about reliability. Imports, Semantic Search and updates now recover from failures that used to stall them or lose work. It also fixes rough edges in the sidebar, groups and text labels.

Importing images

  • Unreadable images no longer stall imports. If preparing an image crashes, hangs or produces bad output, that import fails with an error and the next one works normally. Before, the import could stay stuck and slow later imports.
  • Images already on a board stay put. If reloading a saved image fails, its preview and content stay on the board. The app no longer marks it failed or retries it on every frame.
  • Broken XPM files fail cleanly. One malformed XPM file used to stop the import entirely.
  • Broken PureRef files say so. A .pur file with a missing or looping parent used to drop content without a word. Now it shows an error.
  • Drag images straight from websites (macOS). Dropping an image from a browser now imports it. Before, macOS refused the drop because the app only accepted files.
  • Dropped text keeps every link. Text with both an https and an http image link now keeps both, in order.

Semantic Search

  • Images interrupted while indexing get indexed. Quitting or crashing mid-indexing could leave an image out of search for good. It's picked up again the next time the library opens.
  • One bad entry no longer breaks search. A damaged stored embedding used to make every search fail. Search now skips it and returns the rest.
  • An interrupted model install keeps your model. A crash during install could delete the model and force a 254 MB re-download. The previous model is now kept until the new one is fully in place.

Sessions and updates

  • Your session saves as one piece. Settings, the active board and its view are saved together, so a failed save can't restore a mix of old and new.
  • Update downloads finish. If a newer version appeared while an update was downloading, the app could throw away the download and its staged files. The download now completes.

Boards, groups and labels

  • Board shortcuts are clear. Each board shows its shortcut as ⌘1, ⌘2 and so on, and its item count as "5 items", so the count no longer looks like a shortcut.
  • ⌘1–⌘9 work with the sidebar open. Clicking in the sidebar used to stop board shortcuts until you clicked the canvas.
  • Sidebar tabs moved to the top. Boards and Settings now sit at the top of the sidebar, like the other tabs.
  • G no longer opens an empty group picker. With only arrows or lines selected, G now says which items can join a group. In a mixed selection, the images, labels and rectangles join and the arrows stay put.
  • Shift+Enter adds a new line in labels. Enter still finishes the edit.
  • Undo takes back a whole label edit. Typing used to make one undo step per character. Now one round of typing is one step.
View

What's new in 0.3.1

  • Semantic Search keeps indexing after a failure. One image that failed to index used to stop background indexing for every image after it, so a large library could stay mostly unsearchable. Indexing now skips that image and carries on.
  • PureRef files with a broken item now import. An item with an invalid position or size is skipped, so fitting the view to the board no longer throws the camera off.
  • Updates now come from the SnappyRef repository. Downloads and updates moved to github.com/noelcserepy/snappyref/releases. The app updates itself as before, so there's nothing to do.
View

0.3.0 upgrades your Library the first time it opens. Boards, images, annotations, settings and the search index carry over. The upgrade is one-way, so a Library opened in 0.3.0 can't go back to 0.2.0. If you might want to return, quit SnappyRef and copy your Library folder before you update.

Features

  • Groups. Select images and labels and press Cmd/Ctrl+G to make a named Group that moves as one. Choose Row, Column, Wrap or Free layout, then set alignment, gap, padding, size and clipping in the Group card at the right edge of the canvas.
  • Press G to add the selection to an existing Group or to a new one you name. Double-click a member to reorder it, let it fill the Group, or detach it. Groups keep their structure through undo, restart, duplicate, and copy and paste between boards.
  • PureRef boards. Drop a .pur file from PureRef 1.x or 2.x onto the window and it opens as a new board with each image's position, scale, rotation and crop. Cmd/Ctrl+Shift+E saves the active board as a PureRef file.
  • PureRef notes become labels. PureRef groups come in flattened and flipped images come in unflipped. Export leaves out arrows, lines, rectangles and image formats PureRef can't open.
  • Keyboard annotations. T places a label under the pointer. A, L and S arm an arrow, line or rectangle for the next drag. 1 to 5 set the color, Shift+1 to 5 set the size or stroke weight, H toggles the arrowhead and F cycles the rectangle fill. Each style choice carries into the next annotation.
  • Rectangles are a new annotation. Labels replace textboxes and size themselves to their text, so your existing textboxes show as labels. The floating style card and the "Textbox background" setting are gone.
  • AI control, off by default. In Settings, General, AI control, choose Ask or Full access, then press Copy MCP config and paste it into your AI client. The client can read and edit your boards, add images, search the Library, screenshot the SnappyRef window and export to PureRef.
  • Each batch of AI edits is one Undo step. With Ask, you confirm in the app before a client removes Library images or changes the search model. A client can start SnappyRef when it is closed, and the app opens behind your other windows.
  • Undo history is saved with each board, so Undo and Redo still work after you quit and reopen.
  • Creating, renaming and deleting a board can be undone.

Fixes

  • JPEG and TIFF photos with a camera orientation tag display upright instead of rotated or mirrored.
  • Undo and Redo stay on the active board. They no longer use up another board's steps.
  • Dropping or pasting several images is one Undo step, even while some are still loading.
  • Fixed crop Undo and Redo, where a second Undo could delete the cropped image that Redo needed.
  • An image you move while it is still loading stays where you put it.
  • Paste and Duplicate place copies clear of items at their current positions, including right after a move or a board switch.
  • Fixed a crash when renaming a board.
  • Fixed a crash when removing from the Library or searching by image with a still-loading image selected.
  • Fixed reopening a board that holds failed imports.
  • Files copied in Finder paste once instead of twice.
  • Dragging files over the window and leaving without dropping no longer imports them.
  • Shift-click on a selected item deselects it.
  • Cropping a rotated image keeps the right pixels and position.
  • Each end of a line or arrow drags on its own. The other end stays put.
  • Semantic Search no longer stays pending after you import an image it has already indexed.
  • Copied items still paste after Dedupe library and after a restart.
  • A Library folder you moved or copied while SnappyRef was closed still finds its images.
  • Keyboard shortcuts no longer fire behind an open dialog.
  • A long click on an image no longer makes its selection border flash.
  • macOS. The Option symbol in the shortcut list drew as an empty box. It now draws, and all modifier symbols share one size.
  • macOS. If an update can't be put in place, SnappyRef restores the previous version and reopens it.
  • An offered update always installs the package that was verified for it. An incomplete update left from an earlier run is rejected.
  • Windows. Reworked how dropped files and browser images report their position.

Improvements

  • One visual style across the sidebar, Settings, context menu, search and dialogs. The sidebar is a floating card with Boards and Settings. Boards are numbered and show image counts, and Settings has General and Keys pages.
  • Context menu rows show an icon and their shortcut. "Move to front/back" is now "Bring to front / Send to back".
  • A closed sidebar leaves a pull tab on the left edge.
  • The Semantic Search install card shows the download size, a progress bar, Cancel and Retry. Esc closes search and lets a running download continue.
  • Short status messages appear at the bottom left after actions such as Duplicate and Undo, and when a change can't be saved.
  • Large PNGs import with far less memory. A 44-megapixel test image peaked at 76 MB instead of 978 MB and decoded in half the time.
  • Importing a file that is already in your Library reuses it instead of storing a second copy, so search shows it once.
  • Undo and Redo apply at once and save in the background.
  • Board changes are saved as complete steps and retried if a save fails.
  • Imports, search indexing and update checks keep running while the window is hidden.
  • The rotation handle shows a rotate cursor.
  • Selection outlines draw on top of overlapping images.
  • The "Auto-scale new images" setting is gone. It had no effect, and new images are still sized automatically.
  • Downloads include third-party license notices.
© 2026