Headings
/h1, /h2, /h3 — drop in
# , ## , ###
and put the caret right after.
Scratch is a Mac scratchpad — markdown that just renders, always one keystroke away. This guide covers every feature, every setting, and a few ways to make it disappear into your workflow.
Scratch's whole personality is built around being one keystroke away. You shouldn't have to find it in the Dock, shuffle through Mission Control, or remember which Space the window is on. Press a key combination and the window is in front of you — usually before you've thought of the second word.
Out of the box, Scratch listens for ⌃⌥⌘S
(Control + Option + Command + S) anywhere in macOS. Press it
and the window comes forward — from any app, from a fullscreen Space,
from a second monitor.
The combination is deliberately a little awkward. A scratchpad you trigger
with ⌘N would collide with every text editor on your Mac.
Three modifiers means the hotkey will never fire by accident, and your
hand learns the shape in a day.
The hotkey does one of two things, depending on how long you've been away:
⌘Tab'ing back to a window, except faster and across every Space.The five-minute timer resets on any in-app activity — typing, switching notes, copying, toggling the sidebar. There's no setting to change the threshold; the number was chosen so the two modes feel correct without thinking about them.
The hotkey is registered through Apple's Carbon event API — the same plumbing every "summon" app on macOS uses. It works even when Scratch isn't the frontmost app, which is the whole point.
Settings → General has a recorder: click the field, press your new
combination, done. Need ⌃⌥⌘N instead? ⌥⌘Space?
Anything with at least one modifier works. The choice persists across
launches and is re-registered instantly.
Don't want a global hotkey at all? Toggle Enable global
hotkey off and the field goes quiet. Scratch then behaves like
any other app — find it in the Dock or via ⌘Tab.
You can also re-launch Scratch the conventional way from the Dock, from
Spotlight, or from Launchpad. Closing the window doesn't quit the app —
Scratch stays alive in the background so the hotkey keeps working. Use
⌘Q when you really want it gone.
The editor is the heart of the app. Type markdown the way you'd type anywhere else — Scratch styles it in place, keeping the source readable and the result formatted. There's no toggle between "edit" and "preview" and there never will be.
Everything is one mode. You see your # and your
** exactly where you typed them — they're just dimmed,
while the text they wrap is sized and weighted appropriately. Patterns
that get this treatment:
#, ##, ### at the start of a line. The bigger the heading, the larger and heavier the type.**like this**. The asterisks dim; the text inside thickens.*like this* or _like this_.`like this` renders in a monospaced face with a subtle background tint.```, close with ```. The fence markers stay, the inside is monospaced.> are italicised, softened, and indented.-, *, or + at the start of a line. The marker is tinted in the brand accent.1. , 2. , and so on. Scratch doesn't renumber for you — keep the numbers, the source stays portable.--- on its own line.
If you'd rather pick a block from a list than remember the markers, type
/ at the start of a line. A small palette floats up under
the caret with the nine block types Scratch knows about. Keep typing to
filter (/quote, /todo, /h2),
arrow keys to move, ↩ to commit, Esc to
dismiss.
/h1, /h2, /h3 — drop in
# , ## , ###
and put the caret right after.
/bullet, /numbered, /todo —
unordered list, ordered list, or a checkbox you can click.
/quote inserts a > prefix;
/code drops a complete fenced block with the caret
parked between the fences.
/hr inserts a --- line and moves the caret
past it. Use it sparingly — markdown reads cleaner without too many.
Type - [ ] (or use /todo) to make a
checkbox. The brackets render as an actual little square — click it to
toggle. The underlying text flips between - [ ] and
- [x] so the markdown file on disk is still a markdown
file. Anything that understands GitHub-flavoured task lists will read
your notes correctly.
You can indent a checkbox under another one with ⌘] for
sub-tasks. Hit ↩ at the end of a checked-or-unchecked line
and Scratch starts a new checkbox automatically; hit ↩
again on an empty checkbox and it removes itself, so a list ends
naturally.
Inline markdown links — [text](url) — are underlined where
they appear. Hold ⌘ and click the underlined text to open
the URL in your browser. Without the ⌘, a click just places
the caret, so editing near a link is calm rather than risky.
⌘] indents the current line (or the lines covered by your
selection) by one tab; ⌘[ outdents. Works on any line type,
not just lists — useful for nudging code blocks or quoted paragraphs.
Smart quotes and smart dashes are both on by default and quietly turn
" into “…”,
-- into —, and ... into
… as you type. Either can be turned off in Settings
if you prefer typewriter-style punctuation.
Scratch keeps as many notes as you want. There's no folder hierarchy, no tags, no nested workspaces — just a flat list, sorted by recency, with a little structure where it helps.
Toggle the sidebar with ⌘\ (or the chevron at the top-left
of the editor). It slides in from the left and groups notes by when you
last touched them:
Each row shows the note's title — the first non-empty line, stripped of its markdown markers — and a one-line preview. Click to switch; the caret lands where you last left it, in that note.
Right-click a row and choose Pin to lift a note out of the date buckets and into its own group at the top. Pinned notes are ideal for the running document — a daily log, an open project, a to-pack-list — that you want to find without scanning.
Unpinning drops the note back into whichever date bucket it currently belongs to. Pin status is part of the note's sidecar metadata, so it survives reinstalls.
Deleting a note (right-click → Delete, or Edit → Delete Note) soft-deletes it — the note moves to Recently Deleted, sorted by deletion time. It's not gone, just out of the way.
A small trash glyph appears at the bottom-left of the sidebar with the count of deleted notes. Click it to open the trash view, where each row's context menu gives you Restore or Delete Permanently. The Empty pill in the header purges every deleted note at once — permanent, no double-prompt, the trash is your double-prompt.
Double-click any row, or pick Open in New Window from the context menu, and the note opens in a standalone editor window — no sidebar, no chrome beyond the editor itself. Useful for side-by-side writing, or for keeping a reference note visible while the main window shows something else.
Scratch doesn't have a Save dialog because Scratch doesn't have an unsaved state. Everything you type lands on disk within a third of a second.
Edits are batched on a 300 millisecond debounce — meaning Scratch waits a beat after your last keystroke, then writes. If you keep typing, the timer resets; the moment you pause, the file flushes. Writes are atomic: Scratch writes to a temp file in the same folder and renames it into place, so a crash mid-save can never leave a half-written note behind.
Every note is a real .md file. They live at:
~/Library/Application Support/Scratch/Notes/
Each note is two files — a <uuid>.md containing the
raw markdown body, and a <uuid>.json sidecar with
timestamps, pin state, and deletion status. The two-file layout was
chosen on purpose: the markdown file is clean enough to open in any
editor or grep from the terminal, and timestamp bumps don't dirty the
.md's modification time.
Right-click any note and choose Reveal in Finder to
jump straight to its .md. From there you can copy it, edit
it in another tool, or sync the folder yourself via iCloud Drive,
Dropbox, Syncthing — whatever you already use.
Your notes are yours. Uninstalling Scratch doesn't touch the folder. The markdown files predate the app and outlive it — they'll open in any text editor in 2045 the same way they open today.
Because autosave is invisible, ⌘S is functionally
redundant — but it's also muscle memory for almost everyone. Pressing
it flushes any pending writes immediately (bypassing the debounce) and
shows a small "Saved" pill at the bottom of the editor, just so the
gesture feels acknowledged.
A note is most useful when it leaves the scratchpad. Scratch has six ways to do that — from the casual (drag a row to Finder) to the thorough (export every note in one zip).
The most direct one. Click any sidebar row, hold, and drag it onto your
desktop, into a Finder window, into Mail, into a Slack message, into a
Notion document. What lands at the other end is the real
.md file, named after the note's title.
Two flavours, both on the Edit menu:
⌘⇧C) — raw markdown text. The right choice for pasting into another markdown-aware tool, a GitHub issue, a chat with someone who'll appreciate the source.⌘⌥⇧C) — formatted RTF. Headings, bold, italic, lists, code spans — all rendered. Paste into Mail, Word, Pages, Notes, anywhere that takes styled text.
Right-click a note and choose Export As → Markdown…
to write the .md to a location of your choosing — same
content as the on-disk file, just placed where you point. The keyboard
shortcut ⌘⇧S does the same thing for the currently-open
note.
Export As → PDF… renders the note through Scratch's print stylesheet — proper headings, code blocks with subtle backgrounds, list bullets aligned — and writes the result wherever you ask. The PDF is laid out for US Letter with three-quarter-inch margins.
Share… in the row's context menu pops the macOS share sheet anchored to that row. Scratch offers both a PDF representation and the raw markdown to the share sheet, and macOS picks the most sensible one per destination — Mail and AirDrop will usually attach the PDF, plain-text-aware services will take the markdown.
Print… opens the standard print dialog with the note rendered through the same stylesheet as PDF export. AppKit paginates automatically — long notes flow across multiple pages.
Settings → Advanced → Export all notes…
writes every active note (not the trashed ones) as a .md
file and zips the whole bundle. The archive contains a single
Scratch Notes/ folder so it unpacks cleanly anywhere.
Filenames are derived from each note's title, with collision suffixes
where two notes have the same title.
Use this for a periodic snapshot you stash in iCloud, or as the easiest possible migration to another markdown app — every file is just text.
Coming the other way? Settings → Advanced → Import
notes… (or ⌘⇧I) opens a file picker that takes
.md, .markdown, and plain .txt
files. Multi-select to import a batch in one go. Each file becomes a
new note, keeping its original creation and modification dates so it
lands in the right date bucket.
If an imported file doesn't begin with a heading, Scratch prepends one derived from the filename — so the sidebar gets a sensible title rather than the first sentence of body text.
Toggle with ⌘T or from View → Always on
Top. When on, the Scratch window floats above every other
window — handy when you're transcribing from a video call, copying
notes alongside a browser, or following a recipe with another app
taking up most of the screen.
The setting persists between launches. It's a per-app preference, not per-window — open a note in a new window and that floats too.
With the sidebar hidden, hover the very-left edge of the window. After
a quarter-second dwell the sidebar swings out. Once open, it stays
open — hovering away doesn't snap it back. Click the chevron or hit
⌘\ again to close it.
The 8-pixel edge zone is narrow on purpose. You shouldn't trip into the sidebar by accident while reaching for the close button.
Settings → General → Launch Scratch at login registers Scratch with macOS's Login Items, so it starts in the background every time you boot. The hotkey works from first boot; you'll never have to remember to open the app.
Scratch starts invisibly — no window appears until you press the hotkey or click the Dock icon. If you'd rather manage it yourself, leave the toggle off and Scratch behaves like any other app.
Closing the main window (red traffic light, ⌘W) hides it
— Scratch keeps running in the background and the hotkey still works.
⌘Q quits the app entirely; you'll need to relaunch it
before the hotkey resumes.
Everything visual lives under Settings → Appearance. The defaults are picked to feel right on a typical Mac out of the box, but every dial has a wide enough range to suit a bigger monitor, a smaller font, or a different sense of contrast.
Three choices:
The theme change is instant, no relaunch.
Font picks one of three families, all from macOS's built-in design fonts:
Size runs from 12 to 28 points; the default is 16. Line height is the extra space added between lines — 0 means natural line height, 16 means a generous gap. The default of 6 points gives the editor room to breathe without looking double-spaced.
A slider from 480 to 1100 points, default 720. It caps how wide the editor text can get on a big monitor — long lines are exhausting to read, and a wide window with text running the full width loses focus fast. 720 is the comfortable reading width books and newspapers settle on; you can pull it wider if you prefer.
The setting affects the text content only — the window itself can be any size, and the text simply stays centred within it.
Two modes:
The full list. Anything that toggles a piece of UI also lives on a menu, so muscle memory and discoverability both work.
Why no ⌘⌫ for Delete Note? ⌘⌫ is the standard macOS "delete to start of line" text
operation. Stealing it from the editor would be a daily annoyance.
Delete a note from the right-click menu, the Edit menu, or — if you're
hooked on the gesture — drag the row from the sidebar to the trash
icon at the bottom-left.
Open Settings with ⌘,. Three tabs. None of them are deep.
⌘T from anywhere in the app.⌃⌥⌘S. Click the field, press a new combination, and Scratch re-registers it immediately."…" into “…” as you type.-- into — and ... into … as you type..md files..md, .markdown, or .txt files as new notes.That's the lot. If you find yourself wishing for a setting that isn't there, write in — most additions to Scratch have come from someone pointing out the missing dial.
Scratch is free for seven days from first launch. Every feature works during the trial — hotkey, sidebar, exports, the lot. There's no watermark, no nag dialog. With two days left the status strip starts showing a quiet countdown so the deadline doesn't surprise you.
After seven days, the editor blurs and a small card asks you to buy a
licence ($14.99, lifetime on this Mac) or activate one
you already have. Your notes are never held hostage — they're sitting
in ~/Library/Application Support/Scratch/Notes/ as plain
markdown, exactly where they were five minutes earlier.
Already on Unlimited? That covers Scratch plus every other General Software app for one monthly fee. Activate the same key here and the trial banner disappears.
Scratch revalidates your licence with the server roughly every six hours, and again whenever you bring the app to the front. If you're offline, Scratch keeps working for up to a week from the last successful check before asking you to reconnect. Refunds, cancellations, and seat changes propagate automatically — you don't need to relaunch.
In Settings → Advanced, click Deactivate before you uninstall — that frees the seat instantly. On the new Mac, paste the same key into the activation window. Lifetime licences come with one seat; if you need more, get in touch.
Two likely causes. First — another app might already be using the
combination. macOS only lets one app claim a global hotkey at a time;
whoever registered first wins. Pick a different combination in
Settings → General and Scratch's recorder will
show you live whether the keys are accepted. Second — Scratch needs to
be running. If you quit it (⌘Q rather than closing the
window), the hotkey goes with it. Re-open Scratch, or turn on
Launch Scratch at login so it's always there.
Scratch doesn't have a built-in cloud — it's deliberately
file-on-disk. But because the notes folder is just a folder of
.md files, you can point any sync tool at it: drop
~/Library/Application Support/Scratch/Notes/ into iCloud
Drive, Dropbox, or Syncthing, and the two Macs share notes the way
they'd share any other folder. Built-in iCloud sync is on the roadmap.
The title is derived from the first non-empty line of the note, with
markdown markers stripped. If a note shows the wrong title in the
sidebar, edit its first line — the change is reflected immediately.
Most users add a # Heading line at the top of every
important note for exactly this reason.
No — the date grouping is built in. If you want a flatter list of notes you always reach for, pin them. Pinned notes sit together at the top, sorted by recency among themselves, regardless of how old they are.
Soft-deletion is just a flag in the sidecar JSON — the
.md stays put on disk, hidden from the main list and
surfaced only in Recently Deleted. Delete Permanently
and Empty are the only operations that actually
remove the files from disk.
Scratch reports anonymous usage events to our own server — counts of how often features are used, with no note content, no IDs that link to you, and no third parties involved. The stream helps us see which shortcuts pull their weight and which fall flat. Notes themselves never leave your Mac.
Yes — double-click any sidebar row, or pick Open in New Window from the context menu, and that note opens in a standalone editor window. The main window stays where it was. Useful for keeping a reference note visible while you write in another.
That's everything Scratch does.