Most free "compress this image" or "convert this PDF" sites work the same way: upload your file to their server, process it, send it back. I built ToolHub to avoid that where possible — most of the 45+ tools on there run entirely in the browser, so the file never actually leaves your device.
A quick sample of what's on there:
Image tools — compressor, resizer, cropper, format conversion, all processed client-side with a live before/after preview
PDF tools — merge, split, compress, and conversion to/from Word, Excel, and PowerPoint (that last one was the hardest to build — no good client-side library exists for generating real .pptx files, so I ended up hand-building the OOXML structure and verifying it with python-pptx before shipping)
Developer tools — JSON formatter, regex tester, hash generator, Base64, UUID generator
Color tools — color picker (samples real pixel values from an uploaded image), palette generator, format converters
A couple of social tools — YouTube thumbnail downloader, Instagram image resizer
Stack: React + Vite frontend, Node/Express/MongoDB backend for the account/history/favorites side — the file processing itself never touches the server.
Still early on distribution. If anyone's got thoughts on the tools, or on "browser-based, no upload" as a real differentiator vs. just another free tool site, I'd like to hear it.
Top comments (4)
Hand-building OOXML for the pptx export is the part that stands out, that format is genuinely painful to generate correctly since PowerPoint is picky about relationship IDs and content types even when the XML looks valid. Verifying against python-pptx as a sanity check is smart. On the "no upload" differentiator question, I'd lean into it hard for anything work related, PDFs with client contracts or financial data going through a browser tab instead of a random server is a real selling point, not just a privacy nice-to-have.
Appreciate that, especially re: the relationship IDs/content-types - that's exactly where I burned the most time. Everything looked structurally fine and PowerPoint would still reject it silently. Round-tripping through python-pptx in a separate test pass (not just trusting my own code) is what actually caught it.
And yeah, you've put into words something I've been circling around but hadn't landed on clearly - "your contracts/financial docs shouldn't touch a random server" is a much sharper pitch than "private & secure" as a generic bullet point. Going to think about how to actually lead with that instead of burying it in a features list. Thanks for this.
Glad that framing landed, it's the kind of thing that's obvious once you hear it but easy to miss when you're stuck writing the features list. OOXML is a genuinely nasty spec to hand roll correctly, good on you for actually round tripping through python-pptx instead of just trusting your own writer
Appreciate that - and yeah, exactly, it's easy to bury the actual selling point in a features list when you're heads-down building instead of stepping back to think about who actually needs to hear it.
And thanks again on the OOXML front - it really is one of those specs where "looks valid" and "PowerPoint will actually open it" are two different things. Wouldn't have trusted it without the python-pptx round-trip.