Every developer has hit this: you need to resize an image, decode a JWT, or format a messy JSON blob. So you search "online [thing]", land on some tool, and… it wants to upload your file to a server first.
For a random stock photo, fine. For a customer CSV, a production JWT, or a screenshot of an internal dashboard? You just handed a stranger's server your data.
I got tired of that, so I built SmartTools — 79 small, single-purpose tools that do all the work in your browser. Nothing is uploaded. Ever.
The rule: the data never leaves the tab
Open any tool, open your browser's Network tab, and use it. You'll see no upload request. That's the whole design constraint:
-
Image tools (resize, crop, compress, convert JPG/PNG/WebP, favicon, colour-palette extraction) run on a
<canvas>. The file is read withFileReader, drawn, re-encoded, and handed back — the bytes never touch a network. - Text & dev tools (JSON formatter, Base64, JWT decode, hash, regex tester, URL encode, cron parser, UUID, number-base) are plain JavaScript on the string you paste.
- Calculators (finance, health, math) are just arithmetic on your device.
Because there's no server round-trip, the tools also work offline after first load, and there are no accounts, no rate limits, and no "upgrade to process files over 5 MB".
Why this is more than a privacy nicety
A few things fall out of the client-side approach that genuinely surprised me:
-
The JSON formatter uses your browser's own
JSON.parse. If it says your document is valid, every runtime built on the same spec parses it too — no lenient validator quietly accepting a trailing comma that breaks in prod. -
The UUID generator uses
crypto.getRandomValues, notMath.random. That distinction matters the moment a UUID becomes a token instead of a row id — predictable randomness is a real breach class. - Image conversion strips EXIF/GPS as a side effect of redrawing on a canvas. Handy when you're about to post a phone photo somewhere public.
None of that needs a backend. It's all sitting in the browser already; most "online tools" just don't use it.
The honest trade-offs
Client-side isn't free of limits:
- Big images hit browser memory/canvas caps (a 50 MP photo is ~200 MB decoded before you even encode).
The honest trade-offs
Client-side isn't free of limits:
- Big images hit browser memory/canvas caps (a 50 MP photo is ~200 MB decoded before you even encode).
- There's no server to do heavy lifting like OCR or real video transcoding.
- You're trusting the page's JavaScript — but that's inspectable, and "no network request" is verifiable in a way "we delete your file after an hour" never is.
Free and multilingual
79 tools, 7 languages (EN/DE/ES/FR/IT/NL/UK), no sign-up. Every calculator's maths is cross-checked against an independent implementation before it ships, because a calculator that's confidently wrong is worse than none.
I'd genuinely like feedback — especially: which tool would you want next? I pick what to build from real demand, so tell me what you keep googling.
Top comments (0)