A grid of small tool tiles in muted neutrals, with a single tile flipped open in red revealing handwritten lines, like a notebook page hidden inside a toolbox.
toolsupdated5 min read

Tools that don't leave your machine.

I kept pasting production data into random converter sites at 11 p.m. So I put together thirty tools that never send your data anywhere.

I have a folder on my laptop called one_off/ that, until recently, held 41 Python scripts whose only job was to turn one annoying thing into another, slightly less annoying thing. CSV to Markdown. Hex to RGB. A screenshot to a base64 string I could paste into a prompt. None of them deserved a name. All of them got used at least once a week.

At some point I noticed I was Googling the same five free converter sites every Tuesday, then watching them load three seconds of ads to do six lines of arithmetic on data I didn't really want to send anywhere. So I started porting one_off/ into the browser, one tool at a time, onto a single page. That page is now /utilities, and there are about thirty tools on it. This is a short note about what's there, why it exists, and the three rules I gave myself before the first one shipped.

Six of the forty-one tools, in motion, input on the left, output on the right, nothing leaving the browser.

Rule 1: Nothing leaves your machine

Every tool on the page runs entirely in your browser. There is no API. There is no upload. There is no "Sign in to save your work." Paste a JSON blob into the formatter, close the tab, and the blob is gone, because there's no server-side copy, because there's no server.

This sounds small until you audit what the rest of the internet does with your files. The free "PDF to Word" sites mostly upload your document, convert it, and email you a link to a file living on someone's S3 bucket for a month. The free "format my JSON" sites mostly ship your JSON to a server that almost certainly logs it. If you've ever pasted production data into one to debug something at 11 p.m., you have leaked production data to a stranger.

The rule isn't really privacy theater. It's about removing a tax I didn't know I was paying: the small recurring decision of is this thing I'm about to paste sensitive enough that I shouldn't. Client-side only means the answer is always no, which means I never have to think about it again.

Experience it yourselfOpen /utilities

Rule 2: The keyboard is the primary interface

The page assumes you're on a laptop, not a phone. It also assumes you showed up because you've got something to convert right now. So the keyboard does the work:

shortcuts
Cmd/Ctrl + K   focus search from anywhere
?              open the shortcut overlay
← ↑ → ↓        move around the tool grid
Enter          open the focused tool

One tool, one job

Each tool has its own bindings too: copy, clear, swap input and output, toggle theme. Part muscle-memory ergonomics, part self-imposed rule that keeps the tools simple. If I can't drive a tool almost entirely from the keyboard, that usually means it's trying to do too much, so I split it in two.

The base64 encoder doesn't decode. The decoder sits one tile to the right. Sure, they could be a single component with a tab switcher. They aren't. That tab switcher would cost a keystroke, and I didn't want to spend it.

Rule 3: A tool is a tool, not a feature surface

The genuinely depressing thing about most online utilities is that they aren't utilities. They're funnels. The free converter sells you on the paid converter. The paid converter sells you on the SaaS subscription. The subscription sells you on an enterprise contract. By the time any actual converting happens, you've handed over your email three times and dismissed two upsell modals.

My rule is simple. A tool here does one thing, does it on the first screen, and asks for nothing. No accounts. No "Pro version." No upsells. Favorites and recents live in localStorage, because the alternative is a database, and a database means I'd have to know who you are. I'd rather not. The most ambitious thing on the page is a JSON-to-TypeScript-types generator, and it doesn't even have a settings page.

This is a watered-down version of whatever instinct produced the good Unix tools. cat has no freemium tier. grep never asks you to verify your email. The web forgot, slowly, that this used to be the default. So the page is a small attempt to remember.

What's actually in there

Roughly what's in there: text and JSON tools (formatter, diff, case converter, Markdown table builder, JSON-to-TS-types), encoders (base64, URL, HTML entities, hashes), image and design helpers (SVG optimizer, color picker, contrast checker, aspect-ratio calculator, palette extractor), data converters (CSV, cron expressions, timestamps, regex tester). Then a handful of one-offs that earned a permanent home: a UUID generator, a Lorem Ipsum generator that tries to be a little funnier than the standard one, a character counter that knows a grapheme from a code point.

The categories are ordered by how often I use them. That's probably not how often you would. Any tool with enough traffic to deserve a spotlight gets a "NEW" badge for thirty days, then rejoins the rest. Recents and favorites float to the top, so the page slowly personalizes itself. It never asks permission.

Why I keep adding to it

Honestly? Because getting a small tool exactly right is one of the most satisfying things I know how to do. A good utility takes one argument and hands back one value. You can write the whole spec in a sentence. And the loop is fast: describe the function, watch it come together, drop it in the registry, watch it work. After a long week of essays whose ideas might not even be true and features nobody can measure the value of, an afternoon spent making a CSV-to-Markdown converter feel exactly right is a clean, finishable kind of win.

There's a less wholesome reason too. The modern web has gotten really good at making me feel like I'm renting access to my own data, and the toolshed is a small, stubborn argument that some things should just be functions. Paste in. Get out. Close the tab. No relationship.

The page is going to keep growing. If there's a utility you want that isn't there, the issue tracker is open and I read it. Next up is a handful of audio tools, a waveform viewer, a simple spectrogram, a format converter, because I keep opening Audacity for thirty-second tasks. They'll show up the way the rest did: quietly, on a Tuesday, with no announcement and no upsell.

Experience it yourselfBrowse the toolshed
ShareXLinkedInHacker NewsEmail

Get the next one

An occasional note when something genuinely new ships here — essays, free tools, projects. No schedule, no filler, easy out.

Need something like this built?

I design and ship AI tools, full-stack apps, and data pipelines — end to end, to production. Tell me the problem in a sentence; I'll give you an honest read on fit within a day.

Work with me →