User guide.

How Spot Tone works, topic by topic, then every keyboard shortcut. The same guide is in the app under Help (⌘?). For what each tool is best for, see the tools.

How it works.

Workflow
Open scans (⌘O or drop files/folders—a folder brings its subfolders too) → Detect → tune Sensitivity & brush → Apply Repair → Export
Heal
A model-gated healing brush (J): paint over a defect and the detector re-examines just that area at FULL resolution—on big plates it sees fibers the whole-image pass was too zoomed-out to catch—then marks only the pixels it agrees are dust. Clean plate under the stroke stays clean. Ghosted while you draw; real marks land on release. If it marks nothing, the status bar says what the model scored there.
Dust Lasso
A lasso (L) for the fine dust Detect misses. A dab or a tight loop takes the one speck you circled; a wider loop sweeps a patch peppered with them and takes what it finds there. A loop is the line you draw; a single click covers the brush's size. Sensitivity does not gate it—it judges the film itself—which is how it reaches specks the detector scored too low to mark. A loop takes one polarity at a time: circle bright and dark specks together and the majority wins—loop again for the rest. The status line says what it took.
Scratch
A brush for fine scratches and scanner lines (K): draw along part of a scratch—straight, slanted, or curved—and its brightness is leveled back to the film's, keeping the grain under it. The tool follows the scratch past your stroke, so a short stroke can take the whole length. It works on scratches you can still see the picture through; a gouge or blown-out mark needs the brush, and it says so instead of guessing. A whole-frame scanner line is measured along its full length and repaired as before—Sensitivity has no effect on either. Finds nothing? It says so and changes nothing. ⌘Z undoes.
Clone
A clone stamp (S): ⌥-click the film you want to copy from, then paint. For a mark lying along an edge—a hair on a lit chin, a scratch down a shoulder—where no automatic donor is the right answer. The film you're about to copy shows inside the brush as you move it, so you can aim.
Crop & StraightenLAB
C for Crop, A for Align. Drag to draw a box; drag just outside a corner and the picture turns underneath it while the box stays upright. A gives a level cursor: drag a line along anything that should be level or plumb—a horizon, a doorframe—and the picture turns to match. Locked shapes orient themselves to the frame—on a horizontal image 4:5 means the 4×5 format lying horizontally—and the button beside the picker turns any format on its side. Both are non-destructive: stored with the frame and applied on export, never to your file.
ToneLAB
The panel under the repair tools: Histogram, Vectorscope, Light (exposure, contrast, highlights, shadows, whites, blacks), Curves (master and per channel), Levels (black, white and midtone, per channel too), Color (warmth, tint, saturation, vibrance) and Split Toning. Numbers, not pixels—nothing here touches the file until you export, and none of it affects detection or repair. Auto sets black and white from the frame's own histogram, clipping the amount you pick beside it. Each section's header has its own reset; drag headers to reorder, and hide sections you don't use under View ▸ Tone Panel.
VectorscopeLAB
Which way the colors in the view lean, and how strongly: the center is neutral, red sits at 3 o'clock, distance out is saturation, and the line just above red is where skin of every complexion clusters. Film color is gentle, so the 2× zoom spreads it out. It draws; it changes nothing.
Split ToningLAB
A hue and a strength for the highlights and another pair for the shadows, with Balance sliding the crossover between them. On a black-and-white scan it is what puts color in: a warm shadow and a cool highlight is the classic split.
Sync Settings
Finish one frame, then Image ▸ Sync Settings (⌥S) to push what you choose onto the rest—sensitivity, levels, curves, color, crop, rotation. Auto Levels All Frames is the other one: it gives each frame the reading its OWN histogram asks for, which is what a roll shot in changing light wants.
Re-heal
A second-opinion brush (R): sweep over a repaired spot you don't like and it heals again from a DIFFERENT patch of clean film. Each pass cycles to the next source; ⌘Z steps back if a pass made it worse.
Starting over
Revert (Repair section, ⇧⌘R) drops the repaired pixels and keeps your mask; Clear My Brush Edits drops your strokes and keeps the model's detection. For a clean slate—no detection, edits, repair, tone, crop or straighten, Sensitivity and rotation back to default—Image ▸ Reset Image - SPOT and TONE, or right-click the filmstrip. Reset Image - SPOT Only does the same for the Spot side alone—detection, edits, repair, Sensitivity—and keeps Tone, crop, straighten and rotation locked in. Your file on disk is never touched by any of them.

Reset also withdraws any correction from that frame that hasn't been sent yet—resetting says the work was wrong, so the model shouldn't learn from it.
Detect
Detect (⌘D) runs the model on this frame at its Sensitivity; Detect All runs the selection. Clear Detection drops the model's marks and keeps yours. Each asks first when a frame has hand work it would discard—brush marks, heals—and the question can be hushed. The first Detect over a frame with your own marks or heals asks whether to mark everything or to skip film you have already examined; skipping keeps those marks quiet—drawn hollow, not repaired—and a brush stroke over a hollow mark takes it. Settings ▸ Detect holds the choice; Detect Everywhere (⌥⌘D) marks everything regardless. On big scans, Settings ▸ Detect can show a Full-res pass checkbox that decides, frame by frame, whether the model also runs at full resolution: uncheck it when a texture (water, foliage) gets marked as dust—the status line tells you when a large area came only from that pass. Fence-sitters (a second overlay color, a checkbox under the slider) are the spots the model half-sees: one W stroke marks one.
Before
Hold the Before chip in the status bar to see the scan as it was; let go and the repair is back. P leaves the preview off until you press it again—and stays off while you erase.
Views
View ▸ Visualize Spots (⇧⌘V) shows the frame as a threshold view—white where something stands clear of the grain—for hunting specks and checking a repair; Mark Spots Shown takes what it shows as marks. Show Examined-Area Overlay (⇧⌘E) shades the film you have not yet looked at up close—brushed, swept, or on screen at 75% or closer—so a frame can be worked to completion; Mark Whole Frame Examined makes that claim in one go. Show Navigator is a small map of the frame with the view drawn on it, for 400%. Workspace Background sets how light the area around the frame is. Show Frames Needing Re-repair filters the filmstrip to frames whose repair is out of date.
Auto-Rotate
The toolbar button turns frames upright using the faces in them, pooling each roll so frames without a face follow the rest. Display only until export; ⌘Z undoes it per frame. Reload from Disk (File) re-reads a file another app has changed underneath you.
Sensitivity
Re-filters the cached detection instantly—no re-scan. Higher flags more specks (and more false alarms); lower only flags obvious dust.
BatchLAB
Repair All (the All or N Images button beside Apply Repair) detects and repairs every selected frame with your reviewed sensitivity and brush edits where they exist; Export All then saves them.
Overwrite ModeLAB
For lab workflows: Settings ▸ Export ▸ Overwrite Mode makes Export and Save Back replace the original files in place—no copies, no suffixes—keeping each file's format, bit depth, profile, and metadata. It asks every time you turn it on, and a banner stays across the window while it's on. There is no undo for a replaced file.
Hot folderLAB
Watches a folder and repairs new scans automatically at its own sensitivity; flags anomalous frames for review. Manual tools pause while watching.
16-bit
Automatic: 16-bit sources are repaired and exported at 16-bit, untouched pixels bit-identical.
Large scans
Big flatbed/tintype scans are detected at a normalized scale automatically—no setup needed.
Filmstrip
Drag its edge to resize. Dock it left, right, top, or bottom: View menu → Filmstrip. ⌘-click / shift-click to multi-select.
Session
Everything (files, detections, edits) is restored when you reopen the app. Past sessions stay available under File ▸ Open Recent Session (how many: Settings). Files on an unmounted drive are kept, never dropped. Hold ⇧ or ⌥ while launching to skip the restore; if a session ever fails to load, the next launch skips it by itself. “Forget These Sessions” clears the list and the brush edits kept with it. Save Session As… names the current one so it outlives the recent list; Browse Sessions… shows Saved and Recent side by side with a first-frame thumbnail of each—the corner × removes a recent one, and asks before deleting a saved one.
Getting started
Help ▸ Getting Started walks the tools on a sample scan (Open Sample Scan brings it back any time). Release Notes Online is the changelog; Send Feedback… goes straight to the developer, with the diagnostic log attached if you check the box—never your scans.
Round trips
Lightroom (Plug-in Extras ▸ Clean in Spot Tone, or set it up as an external editor and use Photo ▸ Edit In ▸ Spot Tone) and Photoshop (File ▸ Scripts ▸ SpotTone) hand frames over and get them back: only those get Save & Return, which REPLACES the file they rendered for editing. Files you open yourself—⌘O, drag, Finder—are never written over; use Export. With Settings ▸ Auto-clean round trips ON, hand-offs are detected, repaired, and returned automatically; frames the model isn't confident about stay open for review.
Contributing
Off by default (Settings ▸ Contribute). When on, the dust you brush, an occasional borderline frame you accepted as-is, and your Sensitivity setting are sent—a copy of each of those frames, downscaled if it's over 3,600 pixels on its long edge, never your full library—to train better models. Nothing leaves your Mac unless you turn it on.
Model updates
“Check for Model Updates” (File menu) installs only signature-verified models; a tampered or unsigned one is refused.

Keyboard shortcuts.

Tools

LDust Lasso
JHeal
B EBrush / Erase
SClone (⌥-click to pick the source)
RRe-heal
KScratch
C ACrop / Align
H VHand (hold Space for a moment)
ZZoom (⌥-click out, drag to scrub)
[ ]Brush size
- =After a Heal stroke: tighten / loosen what it took

Detect and repair

⌘D ⌘RDetect / Repair
⌥⌘DDetect Everywhere (marks film you have already examined too)
⌘.Stop a Detect or Repair in progress
⇧⌘RRevert repair (marks and edits kept)
⌘Z ⇧⌘ZUndo / redo
⌥SSync settings to the other frames
⌘⌥C ⌘⌥VCopy / paste tone settings

View

P or \Preview Repair: scan or repair
⇧PPreview the Tone adjustments (Lab)
OMark overlay on / off
⇧OCycle the overlay color
⇧⌘V ⇧⌘EVisualize Spots / Examined-area overlay
⌘0 ⌘1Fit / actual size
⌘+ ⌘−Zoom in / out
⌘[ ⌘]Rotate the view (display only)

Frames and files

← → ↑ ↓Previous / next frame
⇧ + arrowsExtend the selection
⌥ + arrowsStep through the selected frames only
⇧⌘[ ⇧⌘]Rotate the selection, or the roll
⇧F2Rotate all counter-clockwise
⌘A ⌘⌫Select all / remove from list
⌘FFilter the filmstrip by name
⌘O ⌘EOpen / Export
⌘NNew session
⇧⌘SSave Session As…
⌘?Help
⌘SSave & Return (Lightroom or Photoshop hand-offs)

Questions to support@spottoneapp.com