Most "free online tools" sites have the same dirty secret: when you merge a PDF or compress an image, your file gets uploaded to their server. For anything sensitive — contracts, IDs, personal photos — that's a problem most people never think about.
So I built UseOnlineTools as an experiment: a tools site where nothing touches a server. Every operation runs client-side in the browser.
The stack
- Astro — ships zero JS by default, each tool is an island, great Core Web Vitals
-
WASM +
pdf-lib/pdf.js— PDF operations (merge, split, compress, rotate, convert) - Canvas + WASM codecs — image work (compress, resize, HEIC→JPG, PNG→WebP, EXIF stripping)
- Pure JS — dev tools (JSON formatter, regex tester, JWT decoder, hashing, UUIDs)
- Cloudflare Pages — fully static hosting, near-zero ops cost
The interesting constraint
Deciding what can't be done client-side. Anything needing a rate-limited third-party API or heavy video transcode got cut.
The rule became: if a tool needs a backend, it doesn't belong on this site. That constraint is also the privacy guarantee and the cost model — all three are the same decision.
A few things I learned
- HEIC decoding in the browser is genuinely painful. The WASM decoder is large and you have to lazy-load it.
- "Your file never leaves your device" is hard to communicate. Users don't believe it by default. Still working on how to surface that trust.
- Static-first means SEO content and the tool can coexist on one fast page without a framework fighting you.
It's live and free. I'd love feedback from this crowd specifically — on the architecture choices, on tools that break, or on what client-side tool you wish existed.
What would you have built differently?
Top comments (0)