Last year I got frustrated.
I was debugging a JWT at 2am (classic), and the first three "free JWT decoders" I found all wanted me to create an account. The fourth one worked but pasted my token into some analytics endpoint — I spotted it in DevTools. Cool. Love that for me.
So I built my own. And then I kept going.
41 tools later, here's PureKit — a collection of browser-based developer tools where your data literally never leaves your machine.
Why I Built This
Here's my problem with most online dev tools:
- "Free" with an asterisk. Free until you hit a daily limit, need to remove a watermark, or want to process more than one file.
- Uploading sensitive data to random servers. I've seen JWT decoders that send your token to their backend. PDF tools that upload your documents to process them "in the cloud." No thanks.
- Account walls everywhere. I just want to format some JSON. I don't need a relationship with your product.
I wanted tools that are actually free, actually private, and just work when you open them.
The Tech
The whole thing is built with Next.js and deployed on Cloudflare Pages.
The core principle: everything happens in the browser. No file uploads to servers, no API calls with your data. When you paste JSON, it gets formatted in your browser tab. When you compress an image, the Canvas API and Web Workers handle it locally. Your files never touch my servers because there's nothing on my servers to touch them.
Some specific tech decisions that might be useful if you're building something similar:
PDF processing was the trickiest part. I'm using pdf-lib and pdf.js (Mozilla's library) running entirely client-side. Getting PDF merge to work without a backend took some wrestling — especially handling encrypted PDFs and different PDF versions. The gotcha: pdf-lib can't render PDFs, and pdf.js can't modify them, so you end up using both and bridging between their different document models. Not fun, but it works.
Image compression uses the Canvas API to re-encode images. The trick is drawing the image to a canvas element and then exporting it with a lower quality setting via canvas.toBlob(). For format conversion (say, PNG to WebP), same idea — draw to canvas, export as the target format. Web Workers keep the UI from freezing when you're processing large batches.
Code formatting (JSON, SQL, HTML, CSS, JS, XML) — I tried writing my own parser for JSON formatting at first. Don't do that. Just use Prettier for the code formatters and a proper SQL parser for SQL. I wasted two weekends on edge cases before I gave up and used battle-tested libraries. Sometimes the boring answer is the right one.
Some Tools Worth Checking Out
Here are the ones I use most myself:
🔍 JWT Decoder
Paste a JWT, instantly see the header, payload, and signature. No server call — it's just base64 decoding in JavaScript. I built this one first because the existing options kept making me nervous about where my tokens were going.
📝 JSON Formatter
Formats, validates, and lets you explore JSON with collapsible tree view. Handles big payloads without choking — I tested it with 50MB JSON files during development (my browser was less happy about that, but it worked).
→ purekit.dev/en/json-formatter
📄 PDF Merge / Split / Compress
This is the set I'm most proud of. Merge multiple PDFs, split pages out, or compress file size — all in the browser. Most "free" PDF tools either upload your files or limit you to 3 operations per day. These have no limits because there's no server cost per operation.
🖼️ Image Compressor & Format Converter
Drop images in, get smaller files out. Supports JPEG, PNG, WebP. You can batch process multiple images and adjust quality. The format converter lets you go between formats — handy when you need WebP for the web but your designer gave you PNGs.
→ purekit.dev/en/image-compressor
⏰ Cron Expression Builder
This one saves me every time I set up a scheduled job. Visual builder where you click what you want (every Monday at 9am, every 5 minutes, etc.) and it generates the cron expression. Also works in reverse — paste a cron expression and it tells you in plain English what it does.
→ purekit.dev/en/cron-expression-builder
🔤 Regex Tester
Write regex, paste test strings, see matches highlighted in real time. Shows capture groups and explains what each part of your regex does. I know regex101 exists — I just wanted one that doesn't phone home with my test data.
🎲 Mock Data Generator
Generates fake JSON data based on a schema you define. Names, emails, addresses, dates, custom patterns. Useful when you need to seed a database or test an API but don't want to write a script for it.
→ purekit.dev/en/mock-data-generator
The Full List
Beyond those, there's a bunch more:
Formatters: JSON, SQL, HTML, CSS, JavaScript, XML
Encoders: Base64, URL encode/decode
Generators: UUID, Hash (MD5/SHA), Password, Lorem Ipsum, QR Code, Favicon, Placeholder Images
Converters: Unix Timestamp, Color (HEX/RGB/HSL), YAML↔JSON↔TOML, JSON→CSV, Markdown↔HTML, HTML↔Markdown, Number Base, Image Format, Image→Base64, Image→PDF, PDF→Image, SVG→PNG
Text Tools: Case Converter, Word Counter, Diff Checker
Data Tools: CSV Cleaner, Mock Data Generator
PDF Tools: Merge, Split, Compress
Encoders: HTML Entity Encoder/Decoder
41 tools and counting. I add new ones when I find myself googling "free online [thing]" for the third time.
On Privacy
I want to be straightforward about this: your data stays in your browser. Period.
There's no analytics tracking what you paste into the tools. There's no "we may share anonymized data" clause. The tools literally can't see your data because the processing happens in JavaScript on your machine.
I built this the way I'd want a tool to work if I were the one pasting production JWT tokens or company documents into it. If I wouldn't trust a tool with my own data, I'm not going to ask anyone else to.
What's Next
I'm going to keep building more tools as I run into problems that need them. Some things I'm thinking about:
- API request tester (like a lightweight Postman in the browser)
- JSON schema validator
- SVG optimizer
- More code formatters (YAML, Markdown, etc.)
If there's a tool you wish existed as a simple browser-based utility, I'd genuinely like to hear about it. Drop a comment or hit me up.
The whole thing is free and will stay free. No premium tier coming. No "upgrade to unlock" nonsense. Just tools.
Check it out: purekit.dev
Thanks for reading. If you found this useful, a bookmark or a share goes a long way for a solo project like this. Happy coding.
Top comments (0)