A Faster Scratch File Workflow for Mac Developers
You copied a JSON response out of a terminal and you want to look at it properly. Not save it forever, not commit it — just look at it, formatted, for ninety seconds.
The tooling for this is worse than it should be. Opening a project window to inspect four lines of JSON is absurd, and yet most of us do exactly that ten times a day. Here’s the inventory of how developers actually handle it, what each approach costs, and where the friction really is.
The habits, and what each one costs
The permanent scratch.md. One file, always open, everything goes in it. Fast — it’s
already open. But it becomes an append-only midden where yesterday’s payload sits above
today’s, you eventually can’t find anything, and one day you accidentally commit it.
The editor’s scratch buffer. VS Code’s untitled tabs, JetBrains’ scratch files. Genuinely good, and if you live in one IDE all day this may be your answer. The cost is that it only works when the IDE is open and focused, and it doesn’t help when what you’re doing is outside the editor — reading logs, on a call, in a browser.
pbpaste > file in a terminal. The fastest of all, when a terminal is already open and
in the right directory. Covered in more depth in
creating a text file quickly on a Mac. The cost is
that it saves a file you now have to open, and cleaning up /tmp/thing.json is a chore you
either do or don’t.
Notes.app. Please don’t. It mangles code with smart quotes, autocorrect and rich text formatting, and you will lose an hour to a curly quote in a JSON key.
An online formatter. The default reflex, and the one genuinely bad option: you’re uploading content you don’t control to a server you know nothing about. If that payload has a bearer token in it, you just leaked it. There’s a full rundown of offline alternatives.
What a good scratch flow actually needs
Looking at that list, the requirements fall out:
- Zero launch cost. If it involves waiting for an app, it’s too slow for a ninety-second task.
- The right file type immediately. JSON should look like JSON. Syntax awareness matters for reading, not just writing.
- Content already in it. The content is almost always on the clipboard already. Making you paste is a wasted step.
- Formatted on arrival. Minified JSON that arrives minified is barely more readable than it was in the terminal.
- Nothing to clean up. If you don’t save it, it should leave no trace. If you do save it, you choose where — not some app’s private library.
- Available from anywhere. Not just when the IDE is focused.
Nothing in the habit list above hits all six. Most hit three.
Effunde’s take
This is my app, so read on knowing that.
Effunde is a menu bar app built around exactly that list. Click the icon, pick a type — Plain Text, Markdown, HTML, CSS, JavaScript, JSON, XML, YAML, Python, Shell, Swift, CSV, or a custom type you define — and a compact editor drops down under the menu bar with your clipboard already pasted in and already formatted.
The formatting is the part that matters most for developer use: pasted HTML, CSS, JavaScript, JSON, YAML and Markdown are run through Prettier on arrival, so a minified blob or a badly indented snippet lands readable before you’ve done anything. Python, Shell, Swift, CSV and plain text pass through untouched, because auto-formatting those on paste would be presumptuous. It’s a setting you can turn off.
Two smaller things that matter in practice:
- The editor stays pinned when you switch away. You can go back to the terminal for more text and your draft is still there. Losing an in-progress scratch buffer to a focus change is infuriating, so it doesn’t do that.
- Recents. Every file you save lands in a Recents list; one click reopens it in whatever
app macOS associates with that type. So the file you saved as “temporary” twenty minutes
ago is still one click away instead of lost in
~/Downloads.
And if you don’t save, nothing was written to disk. That’s the whole point of a scratch file.
It’s $1.99 on the Mac App Store, macOS 13+, and it does nothing over the network — the formatting runs locally, which for pasted payloads with credentials in them is the property you want.
Whether you need it
Honestly: if you’re happy in your IDE’s scratch buffers, you don’t. That’s a good workflow and it’s already installed.
The case where this earns $1.99 is if you recognize the specific pattern of copying something out of a terminal or a browser and having nowhere good to put it — and doing that many times a day. The cost isn’t the file creation, it’s the twenty seconds of deciding where and then cleaning up afterwards.
And if you’d rather build it yourself, the
Finder Quick Action approach plus a pbpaste | jq
shell function covers most of the same ground for free. It’s about ten minutes of setup and
genuinely works — I used a version of that for years before deciding the ten seconds still
bothered me.