DEV Community

Cover image for I Got Tired of “Free Tools” That Upload My Files — So I Built Browser-Only Ones
Ameen Usman
Ameen Usman

Posted on

I Got Tired of “Free Tools” That Upload My Files — So I Built Browser-Only Ones

Most “free online tools” ask you to paste text or upload a photo.

What they don’t always make clear: that content often leaves your device.

For JSON with client data, a JWT, a draft you’re not ready to publish, or a passport-style photo — that’s a bad trade.

So I built KeptTools: a small set of developer and image tools that run in the browser. No account. No “upload to process.”

👉 https://kepttools.com

What “browser-only” means here

When you open a tool page:

  • The work happens on the page (JavaScript in your browser)
  • You can format, convert, crop, or decode without creating an account
  • Closing the tab ends the session — nothing is stored as “your file” on our servers for processing

A few tools download a small model the first time (for example, portrait background replacement). That download is the model, not your photo.

What’s live

Developer tools

  • JSON formatter / validator
  • JSON converter (CSV, Laravel, TypeScript, PHP, and more)
  • SQL formatter
  • JWT decoder
  • Base64, hash, URL/HTML encode
  • Regex tester, cron generator, UUID/slug

Image tools

  • PNG/JPG → WebP
  • Compress
  • Crop
  • Image → SVG
  • Change background (white / blue / custom / transparent)

Text utilities

  • Word counter
  • Case converter (camelCase, snake_case, kebab-case, …)
  • And more on the site

Why I care about this

I use these utilities every week. I don’t want a random site keeping a copy of:

  • a token
  • a production-ish JSON blob
  • an ID photo

Privacy shouldn’t be a premium feature for basic tools.

Stack (short)

Laravel + Vite + Tailwind + Alpine. Tools are client-side where it matters.

What I’d love feedback on

  1. Is “browser-only / no upload” a strong enough reason to switch tools?
  2. Which tool would you open first from the homepage?
  3. What’s missing that would make you bounce?

If you try something and it feels unclear, tell me — I’m iterating from real use.

Site: https://kepttools.com

Top comments (15)

Collapse
 
sujalkhatri profile image
Sujal Khatri •

Strong post. To your first question, yes, "browser-only / no upload" is a strong enough reason to switch, but I'd say it matters most for the scary inputs: JWTs, production-ish JSON, ID photos. Nobody switches a case converter for privacy; they switch it for speed and no signup. One tip: put the "runs entirely in your browser, nothing uploaded" promise right on the tool pages themselves, not just the homepage. That's where a skeptical user decides in about five seconds whether to paste their token. Good luck iterating on this.

Collapse
 
ameenusman profile image
Ameen Usman •

Thanks, Sujal — this is exactly the kind of feedback I wanted.

You’re right: privacy matters most for the “scary” inputs (JWT, production-ish JSON, ID photos). For smaller utilities, speed and no signup win first.

Great tip about putting the “runs in your browser / nothing uploaded” promise on each tool page, not only the homepage. That’s where people decide in a few seconds. I’ll make that clearer on the tool pages.
Appreciate you taking the time to write this.

Collapse
 
sujalkhatri profile image
Sujal Khatri •

Glad that tip landed! I did exactly this on BulkTextKit — every tool page states "runs 100% in your browser, nothing uploaded" right above the workspace, because with browser-only tools trust is the whole product.

Agree with your split too: the scary inputs (JWTs, production JSON) are where privacy is the selling point; everything else wins on speed and no-signup convenience.

Genuine question — how do you convince the skeptical users that nothing is actually uploaded? Is it just the promise badge, or have you ever had to prove it (open devtools, network tab demo, etc.)?

Thread Thread
 
ameenusman profile image
Ameen Usman •

Great question, Sujal — and cool that you put the line above the workspace on BulkTextKit. That’s the right place.

For skeptical users, the badge helps, but proof works better:

  1. I tell them to open DevTools → Network, paste something into a tool, and watch that their text/file isn’t uploaded for processing.
  2. Same check if someone DMs me worried about trust (I’ve had that).
  3. About / Privacy pages state it clearly, but Network is what usually closes the doubt.

So: promise on the page for speed, DevTools demo for skeptics.

Glad the “scary inputs vs speed” split resonated too.

Thread Thread
 
sujalkhatri profile image
Sujal Khatri •

The DevTools → Network demo is the move — a promise is marketing, an empty Network tab is proof. I'm stealing that for my support replies. Already added the 'runs 100% in your browser' line above the workspace on every tool page after your first comment, and the /privacy page spells out the same. Next step for me: a tiny built-in 'verify' hint on the Pro page so skeptical users can watch the batch processing happen locally too. Thanks for thinking out loud on this — it's genuinely shaping the product.

Thread Thread
 
ameenusman profile image
Ameen Usman •

Love that you’re using it in support replies — that’s exactly where it helps.

Glad the privacy line made it onto every tool page (and /privacy). The built-in “verify” hint on Pro is a strong next step — if skeptics can watch batch work happen locally, you won’t need to explain Network every time.

Happy this thread was useful. Keep me posted how users react once verify is live.

Thread Thread
 
sujalkhatri profile image
Sujal Khatri •

Kept you posted, as promised — the "watch it happen locally" step is live. The Pro page now has a working demo: paste sample texts, one click, and the batch runs entirely in your browser, right in front of you (Network tab stays empty, obviously). I shipped Bulk mode on every tool page too — all processing stays local, Pro just unlocks it with a key.

If you try the demo, I'd honestly value your verdict: does watching it happen convince a skeptic faster than explaining it?

Thread Thread
 
ameenusman profile image
Ameen Usman •

Yes — watching beats explaining.

A short local demo + empty Network tab closes doubt faster than any privacy line. Glad you shipped the “watch it happen locally” step on Pro.

I’ll try the demo and share honest notes if anything feels unclear.

Thread Thread
 
sujalkhatri profile image
Sujal Khatri •

Thanks, Ameen — genuinely appreciate that. One honest note from my side: I still haven't had a single paying customer yet. Zero so far. Pro is $9 one-time during launch, and that launch window closes on 19 Oct (after that it's $19). If the demo feels useful, you'd honestly be my first — but no pressure at all. Your notes on the demo matter more to me right now.

Thread Thread
 
ameenusman profile image
Ameen Usman •

Respect the honesty — early launches are rough, and zero paying customers so far doesn’t mean the idea is wrong.

I’ll try the demo properly and send notes either way. If it’s useful enough that I’d buy, I will — if not, you’ll still get clear feedback. No fluff.

Hang in there through the launch window.

Thread Thread
 
sujalkhatri profile image
Sujal Khatri •

Appreciate that, Ameen — no fluff taken. Take your time with the demo; honest notes matter more to me than a polite yes. If something breaks or feels missing, say it straight — that's exactly what I need in this window. The $9 launch price stays open till 19-Oct, only if it earns it. Either way, thanks for actually trying it.

Thread Thread
 
ameenusman profile image
Ameen Usman •

Will do. I’ll go through the demo properly and send straight notes — what works, what breaks, what’s missing.

No polite fluff. Talk soon.

Thread Thread
 
sujalkhatri profile image
Sujal Khatri •

Quick update, Ameen — your 'watch it work locally' idea is now a live demo on the Pro page. The $9 launch price ends tomorrow (Oct 19), then it goes to $19. No pressure at all — and your notes on the tools would still genuinely help whenever you have them.

Thread Thread
 
ameenusman profile image
Ameen Usman •

Nice — just checked the Pro page. The live “watch it work locally” demo is exactly what I meant. Going through the tools properly and sending notes soon. On the $9 window — noted, no pressure either way; the feedback still comes either way.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.