The Offline Developer Workstation
80+ developer tools, an API client, SQL / MongoDB / Redis clients, encryption
and productivity utilities — all running locally on your machine.
Free · Open Source · Offline · No Account · No Ads
English | 简体中文 | 日本語 | 한국어 | Español | Português (BR) | Deutsch | Français | हिन्दी
⬇️ Download • 🌐 Website • 📚 Docs • 🧰 Tools • 📋 Changelog • 🗺️ Roadmap • 🤝 Contribute • 💬 Discussions
MyDevTools is a desktop application that replaces the pile of tabs, one-off websites and single-purpose apps a developer opens every day. Formatters, converters, generators, crypto utilities, an API client, SQL / MongoDB / Redis clients, notes, snippets and a credential vault — one app, one search box, one keyboard shortcut.
It runs on your machine. There is no MyDevTools server, no account and no sync.
| The usual setup | MyDevTools |
|---|---|
| A dozen tabs of single-purpose tool sites | One desktop app, ⌘K to jump anywhere |
| Tools that upload your payload to a server to format it | Processing happens on your machine |
| Sign-up walls and license keys | No account, no sign-in, no activation |
| Separate apps for SQL, MongoDB and Redis | SQL + MongoDB + Redis + S3 in one place |
| Paid tiers for basic utilities | Free — every tool, every feature |
| Closed-source tooling you cannot audit | AGPL-3.0, the whole app is in this repo |
Note on the table above: it describes the workflow MyDevTools replaces, not any specific competing product. Feature parity with dedicated tools like DBeaver or Postman is not claimed — see Where MyDevTools stops.
| Platform | How |
|---|---|
| macOS (Apple Silicon + Intel) | Download the latest .dmg — universal build, signed and notarized, updates itself in-app |
| Windows / Linux | Not published yet. The Tauri shell builds on both — see Building from source and the roadmap. Testing on these platforms is a great first contribution |
Open it and start working: no sign-up, no configuration, no API keys.
80+ tools ship in the app today, grouped the way the sidebar groups them.
| Tool | Description |
|---|---|
| JSON Formatter | Format, validate and edit JSON in a Monaco editor |
| JSON Visualizer | Explore JSON as an interactive node graph with search and image export |
| JSON Diff | Compare two JSON documents semantically, ignoring key order and formatting |
| JSON Schema Generator | Infer JSON Schema from a sample payload |
| JSON to Code | Generate TypeScript, Go, Rust, Python, Java, Kotlin and Swift models from JSON |
| JSONPath Playground | Query JSON with JSONPath or JMESPath expressions |
| YAML Formatter | Format, validate and convert YAML to JSON |
| Format Converter | Convert between JSON, YAML, TOML and XML in any direction |
| Beautify & Minify | Beautify or minify HTML, CSS, JavaScript, XML and JSON |
| SQL Formatter | Format SQL for MySQL, PostgreSQL and SQLite |
| GraphQL Formatter | Format GraphQL with syntax highlighting and a query builder |
| Markdown Preview | Live Markdown renderer with HTML export and HTML → Markdown |
| Diff Checker | Side-by-side line diff of two texts |
| Regex Tester | Test regex with live match highlighting and capture groups |
| Tool | Description |
|---|---|
| API Client | Build, send and debug HTTP requests — collections, environments, auth, gRPC and a mock server. Not bound by browser CORS |
| cURL to Code | Turn a curl command into fetch, axios, Python, Go, PHP, Ruby, Java or C# |
| Webhook Tester | Capture and inspect incoming webhook requests in real time |
| WebSocket Tester | Connect to WebSocket endpoints and send, receive and inspect messages live |
| DNS Lookup | Query A, AAAA, MX, TXT, NS, CNAME, SOA, CAA and PTR records |
| Whois Lookup | Domain and IP registration details via RDAP/WHOIS |
| IP / Subnet Calculator | IPv4 and IPv6 CIDR: netmask, host range, address counts |
| HTTP Status Codes | Searchable reference for 1xx–5xx |
| User-Agent Parser | Browser, OS and device details from a user-agent string |
| MIME Type Lookup | MIME type for a file extension or filename |
| Tool | Description |
|---|---|
| SQL Client | Connect to PostgreSQL, MySQL and MariaDB, run queries, browse schemas — credentials in an encrypted store |
| Database Explorer | Browse MongoDB databases, collections and documents |
| Redis Commander | Browse keys, inspect values, run raw commands and flush patterns |
| S3 Drive | Manage AWS S3 and DigitalOcean Spaces buckets — browse, upload, delete |
Database drivers are native Rust clients in the Tauri shell, so connections go straight from your machine to your database.
| Tool | Description |
|---|---|
| Password Manager | Credential vault encrypted with a password only you know |
| Encryption Playground | AES-GCM with a raw key or passphrase; encrypt/decrypt JSON bundles |
| JWT Decoder | Decode JWT header, payload and expiry |
| Hash Generator | MD5, SHA-1, SHA-256/384/512 digests for text or files |
| HMAC Generator | HMAC-SHA1/256/384/512 for webhook and API signing tests |
| Bcrypt Generator & Checker | Hash passwords with bcrypt and verify hashes |
| TOTP / 2FA Generator | Six-digit codes from a Base32 authenticator secret |
| SSH / RSA Key Generator | Ed25519 or RSA key pairs in OpenSSH and PEM formats |
| Certificate / PEM Decoder | X.509 certificates and CSRs: subject, issuer, validity, SANs |
| Environment Manager | Encrypted .env sets per project and environment |
| Secret / API Key Generator | Cryptographically random strings with configurable alphabet |
| Email Validator | Verify and validate email addresses |
| Tool | Description |
|---|---|
| Base64 Encoder | Encode and decode Base64 |
| Image to Base64 | Images to Data URI or raw Base64 |
| URL Encoder · URL Parser | Percent-encode/decode, and split a URL into its parts |
| Escape / Encode | HTML entities, backslash strings, hex ↔ ASCII, Unicode \uXXXX |
| String Case Converter | camelCase, snake_case, kebab-case, CONSTANT_CASE and more |
| String Inspector | Characters, words, bytes, invisible and non-ASCII code points |
| Line Sort & Dedupe | Sort, deduplicate, trim and clean up lists |
| CSV / Excel ↔ JSON | Convert spreadsheets to JSON and back |
| Number Base Converter | Integers between bases 2–36 |
| Timestamp Converter · Timezone Converter | Unix/ISO/relative time, and time across timezones |
| Unit Converter | 323 units across 43 categories |
| Chmod Calculator | Unix permissions between checkboxes, octal and symbolic |
| LLM Token Counter | Count tokens and estimate API cost for any text |
| Tool | Description |
|---|---|
| UUID / ULID | Generate UUIDs and ULIDs with bulk export |
| Mock Data Generator | Define a schema, export random JSON, CSV, SQL or XML |
| Cron Builder | Visual cron builder, presets and parser |
| Docker Compose Generator | Compose local stacks — Postgres, Redis, NGINX, Kafka and more |
| .gitignore Generator | Merged .gitignore files from 500+ stacks |
| QR Code Generator | PNG QR codes from text or URLs |
| Markdown Table Generator | Build Markdown and HTML tables in a spreadsheet-like editor |
| Lorem Ipsum | Placeholder text for layouts and mockups |
| Tool | Description |
|---|---|
| Color Picker · Contrast Checker | HEX/RGB/HSL conversion, and WCAG 2.1 AA/AAA ratios |
| CSS Gradient Builder · CSS Generators | Gradients, box-shadow, border-radius and fluid clamp() |
| Image Compressor | Compress JPEG, PNG and WebP with a quality slider |
| SVG Optimizer | Strip junk with SVGO and see the size reduction |
| EXIF Viewer & Remover | Inspect and strip photo metadata |
| Favicon Generator | Favicons, app icons and manifest snippets |
| Code Screenshot | Turn source code into shareable images |
| Keycode Inspector | Inspect JavaScript keyboard events: key, code, modifiers |
| Tool | Description |
|---|---|
| Notes | Rich-text notes powered by Tiptap — headings, lists, code blocks, images |
| Code Snippets | Save snippets with syntax highlighting and auto language detection |
| Tasks | To-do lists with priorities, statuses and drag-and-drop |
| Bookmarks | Organize links in one place |
| API Keys | Encrypted API keys and secrets per environment (dev / staging / prod) |
| Break Room | 2048, Sudoku, Snake, Minesweeper, Tetris |
Everything is searchable from one command palette, in dark or light mode, in 27 languages.
MyDevTools Desktop is built to work locally. Your developer data stays on your machine instead of being posted to someone else's tool backend.
- No MyDevTools server. There is no backend to sign in to, no sync service and no account system. Tool input, notes, snippets, tasks and bookmarks are written to a local SQLCipher database, encrypted with a key held in the OS keychain.
- Credentials are vault-encrypted. Database passwords, API keys and password manager entries are encrypted locally with a master password only you know.
- You choose every outbound connection. The app itself needs no network, but some tools exist to talk to your destinations: the API client sends the requests you write, the database clients connect to the hosts you configure, DNS/WHOIS lookups query public registries, and the updater checks GitHub releases. Those are the connections you asked for — nothing else leaves.
- Optional, anonymous usage stats. Off unless you switch them on. When on,
two events (
app_started,tool_opened) are sent with a rotating session id, the app version and the locale. No device id, no paths, nothing typed into a tool. Seeapps/desktop-ui/src/lib/telemetry.ts. - Auditable. AGPL-3.0. The claims above are in this repo — read them.
| What it is | |
|---|---|
MyDevTools Desktop (this repo, apps/desktop-ui + apps/desktop) |
The product. Runs the 80+ tools locally, offline, with no account and no backend |
mydevtools.tech (apps/web) |
An informational site: what the app does, tool documentation and the download link. The tools do not run there |
The website is a normal marketing site and uses standard web analytics. Its privacy properties are not the app's — the app is the offline part.
apps/
├── desktop/ Tauri v2 shell (Rust)
│ └── src-tauri/src/
│ ├── router/ Local API over SQLCipher — the /api/v1/... contract, never HTTP
│ ├── dbtools/ Native Postgres / MySQL / MongoDB / Redis drivers
│ ├── http/ Request proxy, gRPC, mock server (no browser CORS limits)
│ └── db/ Schema migrations, device key
│
├── desktop-ui/ Next.js UI the desktop app is built from — all 80+ tools
│ ├── src/app/app/ Tool pages
│ ├── src/lib/ Tool logic (pure, unit-tested), crypto, local API client
│ └── messages/ next-intl locale files (27 languages)
│
└── web/ mydevtools.tech — marketing and SEO site
| Layer | Technology |
|---|---|
| Shell | Tauri v2 (Rust) |
| Storage | SQLCipher via rusqlite, keyed from the OS keychain |
| Database drivers | Native Rust clients for PostgreSQL, MySQL, MongoDB and Redis |
| HTTP / gRPC | reqwest + h2 |
| UI | Next.js 16 · React 19 · TypeScript 5.7 |
| Styling | Tailwind CSS · shadcn/ui · Radix UI |
| Editors | Monaco · Tiptap |
| State | Zustand |
| i18n | next-intl — 27 languages |
Longer write-up: docs/ARCHITECTURE.md.
- Node.js ≥ 22
- pnpm ≥ 9
- Rust stable (for the desktop shell)
git clone https://github.com/mydevtools-tech/mydevtools.git
cd mydevtools
pnpm installNo configuration step — no API keys, no accounts, no services.
| Command | Description |
|---|---|
pnpm dev:desktop |
Run the Tauri desktop app in dev mode |
pnpm build:desktop |
Build the desktop app |
pnpm dev |
Run the marketing site at localhost:3000 |
pnpm build |
Build all workspaces |
pnpm lint |
Lint across all workspaces |
pnpm clean-install |
Fresh dependency install for the monorepo |
Being honest about the edges is more useful than a feature list:
- macOS only for published builds today.
- Database clients are for everyday work, not a replacement for a full DBA suite — no visual schema designer, no migration tooling.
- No team features. No shared workspaces, no sync, no collaboration. Local workspaces only.
- Some tools need the network by definition — DNS, WHOIS, webhooks, API requests, database connections.
Contributions are welcome — bug fixes, new tools, UI polish, translations and docs all count.
- Fork the repository
- Branch:
git checkout -b feature/amazing-feature - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
Please make sure tsc --noEmit and the test suite pass and follow the
surrounding code style. CONTRIBUTING.md covers setup, the
development commands, testing, translations and the six registries a new tool
has to be added to.
New here? Look for issues labelled
good first issue
— they are scoped to be completable without deep knowledge of the codebase.
Translations — the app ships in 27 languages and this README in 9. Improving a locale file or a translated README needs no Rust and no build; see Translations in CONTRIBUTING.md.
| 🐛 Report a bug · ✨ Request a feature | Issue templates |
| 💬 Ask a question · share a workflow | Discussions · SUPPORT.md |
| 🔒 Report a vulnerability | SECURITY.md — privately, never a public issue |
| 🗺️ See what is planned | ROADMAP.md |
| 📋 See what changed | CHANGELOG.md · Releases |
| 🤝 Community standards | CODE_OF_CONDUCT.md |
MyDevTools is free, has no paid tier and never will. If it saves you time:
- Star the repository — it is how other developers find the project.
- Sponsor on GitHub — covers code-signing certificates, hosting for the website and the tooling that keeps releases coming.
- Tell someone — a post, a message to a teammate, a review.
GNU Affero General Public License v3.0 — see LICENSE.
The MyDevTools name and logo identify this project and its official builds; the code is AGPL-3.0 and forks are welcome under their own name.
Made with ❤️ by Akhil and contributors