62 developer tools — Base64, JSON, JWT, hashes, ciphers, colour tools and more — that run entirely on your own machine. No upload, no account, no tracking. Open the network tab and check: nothing you paste ever leaves the page.
Most online dev tools ask you to paste a production JWT, a customer payload or an internal config into someone else's server. QuiverKit exists so you never have to.
The one exception is DNS lookup — resolving a name needs a resolver, so it contacts one. It is badged everywhere it appears and it names the server it talks to. Everything else is offline, always.
Nothing to install — just open quiverkit.dev. Works offline after the first visit (it's a PWA).
A native window, no browser tab to lose track of.
Windows — via a package manager:
winget install QuiverKitscoop bucket add quiverkit https://github.com/ensardev/scoop-quiverkit
scoop install quiverkitOr grab an installer straight from the download page or the releases:
| Platform | Formats |
|---|---|
| Windows | .exe · .msi |
| Linux | .deb · .rpm · .AppImage |
Builds aren't code-signed yet, so Windows may show a SmartScreen prompt — choose More info → Run anyway. On Linux, mark the AppImage executable (
chmod +x) before the first run.
A side panel for Chrome and Edge — select text on any page, right-click, and open it in the right tool. Add it from the Chrome Web Store.
62 tools across 11 categories, each lazily loaded so you only download the one you open. Click a category to expand it.
🔤 Encoding — Base64, Hex, JWT, QR & more
| Tool | What it does |
|---|---|
| Base64 | Encode and decode, URL-safe variant, full Unicode support |
| Base Encoding | Base32, Base58 (Bitcoin) and other RFC 4648 encodings |
| Hex Viewer | Hex dump, binary inspection, byte-level viewer |
| URL | Percent-encode and decode query strings and URIs |
| Punycode | International domain name (IDN) encode and decode |
| Escape | Escape and unescape for JSON, HTML, SQL, shell and regex |
| Gzip | Compress and decompress with gzip, brotli, deflate or zlib |
| JWT | Decode and verify JSON Web Tokens, inspect claims |
| QR Code | Generate and decode QR codes from text or image |
📐 Formatting — JSON, SQL, XML, Markdown & more
| Tool | What it does |
|---|---|
| JSON | Format, minify, sort keys, validate |
| JSON Diff | Compare two JSON documents structurally, key by key |
| JSONPath | Query JSON with JSONPath expressions (like jq) |
| GraphQL | Format and prettify GraphQL queries and SDL schemas |
| SQL | Beautify and format SQL queries |
| XML | Format and indent XML / HTML markup |
| Markdown | Preview and convert Markdown to HTML |
📝 Text — Case, Regex, Diff & more
| Tool | What it does |
|---|---|
| Case | Convert between camelCase, snake_case, kebab-case, PascalCase |
| Regex | Build and test regular expressions with match highlights |
| Diff | Word-level and line-level text diff comparison |
| Lines | Sort, deduplicate, and reorder lines alphabetically |
| Stats | Character, word, and line counts; reading-time estimates |
| Invisible | Reveal zero-width characters, BOM, non-breaking spaces |
| HTML | Strip HTML tags and decode entities to plain text |
| Cipher | ROT13, Caesar, Atbash, Morse code, and other classic ciphers |
🔄 Converters — CSV, TOML, YAML, timestamps & more
| Tool | What it does |
|---|---|
| CSV ↔ JSON | Convert between CSV (spreadsheet) and JSON |
| TOML ↔ JSON | Convert between TOML config files and JSON |
| YAML ↔ JSON | Convert between YAML config files and JSON |
| Timestamp | Unix epoch ↔ ISO 8601 date conversion |
| Timezone | Convert times across time zones; world clock |
| Date Diff | Calculate days between dates, durations, deadlines |
| Number Base | Binary, octal, decimal, hexadecimal radix converter |
| Data Size | Convert between bytes, KB, MB, GB, MiB, GiB |
🎨 Design — Colour, Palette, Gradient & more
| Tool | What it does |
|---|---|
| Color | Pick and convert between hex, RGB, HSL, OKLCH; WCAG contrast |
| Palette | Generate shade and tint scales, Tailwind harmony palettes |
| Gradient | CSS gradient builder — linear, radial, conic |
| Shadow | Box-shadow generator with elevation presets |
| Units | Convert between px, rem, em, pt and other CSS units |
| Bézier | Cubic-bezier easing curve playground for animations |
| SVG | Optimise and minify SVG, convert to data URI or JSX |
| Colour Vision | Simulate colour blindness — deuteranopia, protanopia, tritanopia |
🖼️ Media — Image, Favicon, EXIF
| Tool | What it does |
|---|---|
| Image | Convert, compress, and resize images (JPEG, PNG, WebP) |
| Favicon | Generate every icon size a site needs from one image |
| EXIF | View and strip GPS and other metadata from photos |
🌐 Network — CIDR, DNS
| Tool | What it does |
|---|---|
| CIDR | Subnet calculator — netmask, broadcast, usable IP range |
| DNS | Look up DNS records (A, MX, TXT, NS…) — the one tool that contacts a server |
🔐 Crypto — Hash, AES, Keypair, Certificate & more
| Tool | What it does |
|---|---|
| Hash | SHA-1, SHA-256, SHA-384, SHA-512 and HMAC digests |
| Checksum | Verify file integrity against a known hash |
| AES | Encrypt and decrypt with AES-GCM using a password |
| Keypair | Generate RSA, ECDSA, and Ed25519 key pairs in PEM |
| Certificate | Decode X.509 PEM certificates; inspect subject, issuer, SAN |
| TOTP | Generate time-based one-time passwords for 2FA |
⚙️ Generators — UUID, Password, Mock data & more
| Tool | What it does |
|---|---|
| UUID | Generate UUID v4, time-ordered UUID v7, and Nano ID |
| Password | Generate strong passwords and passphrases with entropy info |
| Lorem Ipsum | Placeholder text — sentences, paragraphs, or word counts |
| Mock Data | Generate fake test data with seedable randomness |
🧑💻 Dev — cURL, Cron, Semver & more
| Tool | What it does |
|---|---|
| cURL | Convert cURL commands to Python, Go, JavaScript and more |
| Cron | Parse and explain crontab expressions; preview next runs |
| Semver | Validate and compare semantic version ranges |
| Chmod | Unix permissions calculator — numeric ↔ symbolic |
| JSON → Types | Generate TypeScript interfaces from JSON |
| Reference | HTTP status codes, MIME types, and other lookup tables |
🔎 Detect — identify unknown strings
| Tool | What it does |
|---|---|
| Detect | Paste anything — it guesses the format and jumps you to the right tool |
English · Deutsch · Español · Português · Русский · Türkçe · 日本語 · 한국어 · 中文
Nine languages, with the structure in place for more. Each is a single JSON file, downloaded only when selected.
npm install
npm run dev # web — http://localhost:5173
npm run dev:desktop # desktop app (Tauri window)
npm run dev:extension # browser extension
npm test # core logic tests
npm run typecheck
npm run build # web (static site)
npm run build:desktop # desktop installers for the current OSRequires Node 20+. Desktop builds also need the Rust toolchain and Tauri's system dependencies. The published installers are built in CI: push a v* tag (or run the release workflow by hand) and GitHub Actions builds each platform on its own runner and attaches the packages to a release.
How it's put together
packages/core Pure TypeScript. Every transformation lives here, with no
reference to React or the DOM, so the same logic backs the web,
desktop and extension builds alike.
apps/web React + Vite. Reads the tool registry and does the rendering.
apps/desktop The same UI wrapped in a Tauri window — Windows and Linux.
apps/extension A Chrome/Edge side panel that reuses the web UI.
packaging/ winget, Scoop and Chrome Web Store manifests and listing copy.
Two rules keep it that way:
- Core never speaks a human language. Tools return
Result<T>values, and failures carry an i18n key such aserror.invalidBase64rather than an English sentence. Whoever renders the message translates it. - The registry is the single source of truth.
apps/web/src/tools/registry.tslists every tool; the sidebar, search and routes are all generated from it. Adding a tool means one entry and one lazily-loaded component.
