Help guide

Everything SimpleTextPad does, in the order you are likely to need it. If your question isn’t answered here, email cavan@judgestudios.com and you’ll get a reply from a person.

Getting started

SimpleTextPad needs macOS 14 Sonoma or later. Open it and you get one window: a strip of tabs along the top sharing its row with the traffic lights, the editor filling the middle, and a status bar along the bottom.

There is nothing to configure and no account to make. The first launch gives you one empty tab with the cursor already in it — start typing.

SimpleTextPad is dark in every window regardless of your macOS appearance setting, and there is no light theme.

Working with tabs

Each note gets its own tab. Every tab keeps its own scroll position, its own text selection and its own undo history, so switching between them and back leaves you exactly where you were.

Making a tab

Click + at the right of the tab strip, press ⌘N, or choose New Tab from the ⋯ menu.

Switching

Click a tab, or cycle with ⌃Tab and ⌃⇧Tab. When there are more tabs than fit the window, the extras are reachable from the ⋯ menu.

Naming

A tab takes its name from the first line of its note, so most of the time you never name anything — write a heading and the tab follows along. To set a name yourself, double-click the tab, press ⌘R, or right-click the tab and choose Rename…. A name you set sticks, and stops tracking the first line.

Typing and editing

The editor is deliberately plain. Autocorrect, automatic capitalisation, smart (curly) quotes, dash substitution, text replacement and spell checking are all switched off, and there is no way to turn them on. What you type is what gets stored, character for character, as UTF-8.

That means pasted terminal output, code, config snippets and quotation marks survive the trip intact — the usual reason a plain-text scratchpad is worth having.

Standard editing works as it does anywhere on the Mac: ⌘Z and ⇧⌘Z to undo and redo, ⌘A, ⌘C, ⌘V, and ⌘F to find within the current note, with ⌘G and ⇧⌘G for the next and previous match. Select All, Copy and Paste also have icon buttons in the top bar for when your hands are on the mouse, and the {} button beside them switches code view on and off.

The status bar counts lines and characters live as you type, and shows the line the cursor is on.

There is no formatting of any kind — no bold, no headings, no bullets, no markdown rendering. You can type markdown, and SimpleTextPad will store it exactly as typed without turning it into anything. With code view on, headings, code and links are coloured to make the structure easier to see, on screen only.

How saving works

There is no save button and no ⌘S, because there is nothing to remember to press. SimpleTextPad writes to disk while you type, again when the app loses focus, and again when you quit.

Tabs come back too. The tab order, each tab’s name and which one you had open are all restored on the next launch, so reopening the app puts you back where you left off rather than in front of a blank page.

The one moment your work exists only in the window is the fraction of a second between a keystroke and the write that follows it. If a write ever fails, SimpleTextPad tells you in orange in the status bar rather than failing silently — see Troubleshooting.

Opening files

SimpleTextPad opens any text file, not just notes it made. Choose Open… from the File menu or the ⋯ menu, or press ⌘O. From Finder, right-click a file and choose Open With ▸ SimpleTextPad, or drop it on the app icon in the Dock.

An opened file behaves like a note you have used Save As on:

  • it opens in a new tab named after the file, extension included;
  • opening it changes nothing — the file is not written to until you type;
  • from then on, every edit autosaves straight back into the file;
  • closing the tab leaves the file exactly where it is.

Opening a file that is already in a tab takes you to that tab instead of opening a second copy.

File types

All of these open, and SimpleTextPad is offered for them under Open With in Finder. The one exception is .ts; see Troubleshooting.

KindFiles
Config.json .yaml .yml .toml .ini .cfg .conf .xml .plist
Docs.txt .md .markdown .rst .log .csv .tsv
Web.html .css .scss .js .jsx .ts .tsx .vue .svelte
Languages.py .rb .go .rs .swift .java .kt .c .h .cpp .cs .php .lua .sql
Shell and dotfiles.sh .bash .zsh .ps1 .bat .gitignore .editorconfig .npmrc .env

To have a kind of file always open in SimpleTextPad, select one in Finder, choose File ▸ Get Info, pick SimpleTextPad under Open with, and click Change All…. SimpleTextPad never makes itself the default for anything on its own.

Files that aren’t UTF-8

Older files saved in another encoding, such as Windows-1252 or Latin-1, still open. SimpleTextPad always saves as UTF-8, though, so your first edit converts the file. For ordinary text you won’t notice the difference. If another program needs the file in its old encoding, keep a copy before you edit it.

Save As and your own files

A note normally lives in SimpleTextPad’s own storage. Save As… (⇧⌘S, or from the ⋯ menu) hands that tab over to a file of your choosing instead:

  • the text is written to the file you pick;
  • SimpleTextPad’s own copy of the note is dropped;
  • every later edit autosaves straight into that file;
  • the tab takes its name from the file, and the status bar shows the file’s path.

This is how you get a note into a folder you already back up or sync, or keep a note alongside a project rather than in an app’s storage.

What this changes about closing the tab

Where the note livesClosing the tab
SimpleTextPad’s own storage asks you to confirm, then deletes the note
A file of yours, via Save As asks you to confirm, closes the tab, and leaves your file exactly where it is

SimpleTextPad never deletes a file that lives outside its own storage. Closing a bound tab is only ever removing it from the window.

Choosing a name

Save As keeps whatever extension you type. Name the file deploy.sh or .gitignore and that is exactly what you get, with no .txt added on the end. A tab that came from a file offers that file’s name; a note that has never been saved offers its title with .txt, which you can change.

To start from a file you already have, use Open instead. There’s no need to paste it into a new tab first.

Deleting a note

Click the ✕ on a tab, press ⌘W, or right-click the tab and choose Close Tab & Delete Note. Because closing a tab in SimpleTextPad means deleting the note, you always get a confirmation first — a note never disappears on a stray click.

The one exception is an empty tab you have not typed in: there is nothing to lose, so it closes without interrupting you.

Deletion is immediate and permanent. SimpleTextPad has no trash of its own and no undo for a deleted note, so if a note matters, use Save As to put it in a file of yours first.

Text size

Eleven sizes are available: 10, 11, 12, 13, 14, 16, 18, 20, 24, 28 and 32 pt. Pick one from Font Size in the ⋯ menu, or step through them with ⌘+ and ⌘−. ⌘0 returns to the default of 14 pt.

Text size is a display setting, not formatting. It applies to every tab at once, it is remembered between launches, and it changes nothing whatsoever in the saved file.

Code view

Code view colours text by the kind of file it’s in, the way a code editor does. Turn it on or off with the {} button in the top bar, Code View in the ⋯ menu, Format ▸ Code View, or ⇧⌘C. The button is orange while code view is on.

Like text size, it applies to every tab at once, it’s remembered between launches, and it changes nothing in the saved file. The colours exist only in the window. Turn code view off and every character is plain again.

What the colours mean

ColourUsed for
Green comments, such as // …, # … and <!-- … -->, and quoted lines in Markdown
Salmon text in quotes, and code in Markdown
Pale green numbers
Blue keywords like if, return and def; true, false and null; tag names in HTML and XML; headings in Markdown; levels like ERROR and WARN in a log
Light blue keys in config files (the word before a : or =), properties in CSS, attributes in HTML, and link addresses in Markdown

Each tab is coloured by its own file type, so a Python tab and a JSON tab side by side are each coloured correctly. Every type listed under Opening files gets colour except .txt, .csv and .tsv, which have nothing in them to pick out.

When a note isn’t coloured

  • It has no file type yet. A note that has never been saved has no extension to go by. Save it as, or rename the tab to, something like script.py and it’s coloured straight away.
  • It’s plain text. .txt, .csv and .tsv are left alone on purpose.
  • It’s very large. Past about 400 KB, code view leaves a file plain so that typing in it stays quick.

Where notes are stored

Notes are kept in SimpleTextPad’s own folder inside your Mac’s Application Support directory: one plain .txt file per note, plus a small session.json that records the tab order, the tab names and which tab was active.

The reliable way to get there is Reveal Notes in Finder in the ⋯ menu, which opens the folder directly.

They are ordinary text files. Any editor can read them, and nothing is in a proprietary format or a database. A tab you opened from a file, or bound with Save As, is not in that folder at all — it lives at the path you chose, which the status bar shows while that tab is open.

Backing up and moving notes

SimpleTextPad does not sync. Notes stay on the Mac you wrote them on — there is no iCloud, no server and no account. Two options cover most needs:

  • For one note: Save As into a folder you already sync or back up. That tab then writes there from now on.
  • For everything: Time Machine already includes the notes folder, since it is a normal folder of text files. You can also open it with Reveal Notes in Finder and copy it wherever you like.

Removing the app removes its own storage in the usual macOS way. Any file you created with Save As is yours and stays put.

Keyboard shortcuts

ActionShortcut
New tab⌘N
Close tab & delete note (asks first)⌘W
Open…⌘O
Rename tab⌘R
Save As…⇧⌘S
Next tab⌃Tab
Previous tab⌃⇧Tab
Find⌘F
Find next / previous⌘G / ⇧⌘G
Undo / redo⌘Z / ⇧⌘Z
Select all / copy / paste⌘A / ⌘C / ⌘V
Bigger / smaller text⌘+ / ⌘−
Actual size (14 pt)⌘0
Code view on / off⇧⌘C

Everything above is also in the menu bar, and the most-used items are in the ⋯ menu at the right of the tab strip.

Troubleshooting

The status bar says “Can’t save” in orange

This only happens to a tab bound to a file of yours with Save As, and it means the file could not be written — an external drive that has been unplugged, a folder that was deleted or renamed, or a permissions change. Your text is still in the tab. Reconnect the drive or recreate the folder and the next write succeeds, or use ⇧⌘S to save the note somewhere else. Don’t close the tab until the text is safely written somewhere.

My tabs didn’t come back

Session restore reads session.json from the notes folder. If that file is missing or unreadable, SimpleTextPad opens a fresh tab rather than refusing to start. The note files themselves are separate and are still in the folder — open Reveal Notes in Finder and check.

A note is gone

Closing a tab deletes its note after a confirmation, and that cannot be undone from inside the app. If you have Time Machine or another backup covering the notes folder, restore it from there. This is the case Save As exists to prevent for anything important.

Autocorrect and spell check are off and I want them on

They can’t be turned on. Leaving your text alone is the point of the app rather than an oversight — a notepad you can paste a command into without it coming back mangled. If you want assisted writing, TextEdit and Notes both do it well.

SimpleTextPad isn’t under Open With for a .ts file

macOS treats .ts as a video format, the MPEG transport stream, and doesn’t let other apps claim it. TypeScript files still open fine with Open… (⌘O), and code view colours them once they’re in.

Code view isn’t colouring a note

See When a note isn’t coloured. The usual reason is a note that has never been saved, so it has no file type yet.

Contacting support

Email cavan@judgestudios.com. It reaches me directly and I answer every message.

For a bug, these three things get it fixed fastest:

  • your macOS version and your SimpleTextPad version (SimpleTextPad ▸ About SimpleTextPad);
  • what you did, and what happened instead of what you expected;
  • anything the status bar said at the time.

Feature requests are welcome too — including ones this guide says the app doesn’t do.