Skip to content

MyDevTools logo

MyDevTools

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

Latest releaseCIRustDownloadsLicense AGPL-3.0GitHub stars

Tauri 2RustNext.js 16React 19TypeScript 5.7SQLCipher

English | 简体中文 | 日本語 | 한국어 | Español | Português (BR) | Deutsch | Français | हिन्दी

⬇️ Download🌐 Website📚 Docs🧰 Tools📋 Changelog🗺️ Roadmap🤝 Contribute💬 Discussions

MyDevTools on Product Hunt


What is MyDevTools?

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 setupMyDevTools
A dozen tabs of single-purpose tool sitesOne desktop app, ⌘K to jump anywhere
Tools that upload your payload to a server to format itProcessing happens on your machine
Sign-up walls and license keysNo account, no sign-in, no activation
Separate apps for SQL, MongoDB and RedisSQL + MongoDB + Redis + S3 in one place
Paid tiers for basic utilitiesFree — every tool, every feature
Closed-source tooling you cannot auditAGPL-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.


📦 Install

PlatformHow
macOS (Apple Silicon + Intel)Download the latest .dmg — universal build, signed and notarized, updates itself in-app
Linux (x86_64)Download the .deb (Debian / Ubuntu 22.04+) or the AppImage (runs anywhere, no install) — same release and version as macOS. No in-app updater yet; see the Linux install guide
WindowsNo build for now. The Tauri shell compiles on Windows — see Building from source and the roadmap

Open it and start working: no sign-up, no configuration, no API keys.


🧰 Tools

80+ tools ship in the app today, grouped the way the sidebar groups them.

📝 Formatters & validators

ToolDescription
JSON FormatterFormat, validate and edit JSON in a Monaco editor
JSON VisualizerExplore JSON as an interactive node graph with search and image export
JSON DiffCompare two JSON documents semantically, ignoring key order and formatting
JSON Schema GeneratorInfer JSON Schema from a sample payload
JSON to CodeGenerate TypeScript, Go, Rust, Python, Java, Kotlin and Swift models from JSON
JSONPath PlaygroundQuery JSON with JSONPath or JMESPath expressions
YAML FormatterFormat, validate and convert YAML to JSON
Format ConverterConvert between JSON, YAML, TOML and XML in any direction
Beautify & MinifyBeautify or minify HTML, CSS, JavaScript, XML and JSON
SQL FormatterFormat SQL for MySQL, PostgreSQL and SQLite
GraphQL FormatterFormat GraphQL with syntax highlighting and a query builder
Markdown PreviewLive Markdown renderer with HTML export and HTML → Markdown
Diff CheckerSide-by-side line diff of two texts
Regex TesterTest regex with live match highlighting and capture groups

🌐 Network & API

ToolDescription
API ClientBuild, send and debug HTTP requests — collections, environments, auth, gRPC and a mock server. Not bound by browser CORS
cURL to CodeTurn a curl command into fetch, axios, Python, Go, PHP, Ruby, Java or C#
Webhook TesterCapture and inspect incoming webhook requests in real time
WebSocket TesterConnect to WebSocket endpoints and send, receive and inspect messages live
DNS LookupQuery A, AAAA, MX, TXT, NS, CNAME, SOA, CAA and PTR records
Whois LookupDomain and IP registration details via RDAP/WHOIS
IP / Subnet CalculatorIPv4 and IPv6 CIDR: netmask, host range, address counts
HTTP Status CodesSearchable reference for 1xx–5xx
User-Agent ParserBrowser, OS and device details from a user-agent string
MIME Type LookupMIME type for a file extension or filename

🗄️ Database & storage clients

ToolDescription
SQL ClientConnect to PostgreSQL, MySQL and MariaDB, run queries, browse schemas — credentials in an encrypted store
Database ExplorerBrowse MongoDB databases, collections and documents
Redis CommanderBrowse keys, inspect values, run raw commands and flush patterns
S3 DriveManage 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.

🔐 Security & crypto

ToolDescription
Password ManagerCredential vault encrypted with a password only you know
Encryption PlaygroundAES-GCM with a raw key or passphrase; encrypt/decrypt JSON bundles
JWT DecoderDecode JWT header, payload and expiry
Hash GeneratorMD5, SHA-1, SHA-256/384/512 digests for text or files
HMAC GeneratorHMAC-SHA1/256/384/512 for webhook and API signing tests
Bcrypt Generator & CheckerHash passwords with bcrypt and verify hashes
TOTP / 2FA GeneratorSix-digit codes from a Base32 authenticator secret
SSH / RSA Key GeneratorEd25519 or RSA key pairs in OpenSSH and PEM formats
Certificate / PEM DecoderX.509 certificates and CSRs: subject, issuer, validity, SANs
Environment ManagerEncrypted .env sets per project and environment
Secret / API Key GeneratorCryptographically random strings with configurable alphabet
Email ValidatorVerify and validate email addresses

🔄 Converters

ToolDescription
Base64 EncoderEncode and decode Base64
Image to Base64Images to Data URI or raw Base64
URL Encoder · URL ParserPercent-encode/decode, and split a URL into its parts
Escape / EncodeHTML entities, backslash strings, hex ↔ ASCII, Unicode \uXXXX
String Case ConvertercamelCase, snake_case, kebab-case, CONSTANT_CASE and more
String InspectorCharacters, words, bytes, invisible and non-ASCII code points
Line Sort & DedupeSort, deduplicate, trim and clean up lists
CSV / Excel ↔ JSONConvert spreadsheets to JSON and back
Number Base ConverterIntegers between bases 2–36
Timestamp Converter · Timezone ConverterUnix/ISO/relative time, and time across timezones
Unit Converter323 units across 43 categories
Chmod CalculatorUnix permissions between checkboxes, octal and symbolic
LLM Token CounterCount tokens and estimate API cost for any text

⚙️ Generators

ToolDescription
UUID / ULIDGenerate UUIDs and ULIDs with bulk export
Mock Data GeneratorDefine a schema, export random JSON, CSV, SQL or XML
Cron BuilderVisual cron builder, presets and parser
Docker Compose GeneratorCompose local stacks — Postgres, Redis, NGINX, Kafka and more
.gitignore GeneratorMerged .gitignore files from 500+ stacks
QR Code GeneratorPNG QR codes from text or URLs
Markdown Table GeneratorBuild Markdown and HTML tables in a spreadsheet-like editor
Lorem IpsumPlaceholder text for layouts and mockups

🎨 Media & design

ToolDescription
Color Picker · Contrast CheckerHEX/RGB/HSL conversion, and WCAG 2.1 AA/AAA ratios
CSS Gradient Builder · CSS GeneratorsGradients, box-shadow, border-radius and fluid clamp()
Image CompressorCompress JPEG, PNG and WebP with a quality slider
SVG OptimizerStrip junk with SVGO and see the size reduction
EXIF Viewer & RemoverInspect and strip photo metadata
Favicon GeneratorFavicons, app icons and manifest snippets
Code ScreenshotTurn source code into shareable images
Keycode InspectorInspect JavaScript keyboard events: key, code, modifiers

📱 Productivity

ToolDescription
NotesRich-text notes powered by Tiptap — headings, lists, code blocks, images
Code SnippetsSave snippets with syntax highlighting and auto language detection
TasksTo-do lists with priorities, statuses and drag-and-drop
BookmarksOrganize links in one place
API KeysEncrypted API keys and secrets per environment (dev / staging / prod)
Break Room2048, Sudoku, Snake, Minesweeper, Tetris

Everything is searchable from one command palette, in dark or light mode, in 27 languages.


🔒 Privacy by design

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. See apps/desktop-ui/src/lib/telemetry.ts.
  • Auditable. AGPL-3.0. The claims above are in this repo — read them.

Desktop vs. website

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.


🏗️ Architecture

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
LayerTechnology
ShellTauri v2 (Rust)
StorageSQLCipher via rusqlite, keyed from the OS keychain
Database driversNative Rust clients for PostgreSQL, MySQL, MongoDB and Redis
HTTP / gRPCreqwest + h2
UINext.js 16 · React 19 · TypeScript 5.7
StylingTailwind CSS · shadcn/ui · Radix UI
EditorsMonaco · Tiptap
StateZustand
i18nnext-intl — 27 languages

Longer write-up: docs/ARCHITECTURE.md.


🛠️ Building from source

Prerequisites

  • Node.js ≥ 22
  • pnpm ≥ 9
  • Rust stable (for the desktop shell)

Setup

git clone https://github.com/mydevtools-tech/mydevtools.git
cd mydevtools
pnpm install

No configuration step — no API keys, no accounts, no services.

Commands

CommandDescription
pnpm dev:desktopRun the Tauri desktop app in dev mode
pnpm build:desktopBuild the desktop app
pnpm devRun the marketing site at localhost:3000
pnpm buildBuild all workspaces
pnpm lintLint across all workspaces
pnpm clean-installFresh dependency install for the monorepo

Where MyDevTools stops

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.

🤝 Contributing

Contributions are welcome — bug fixes, new tools, UI polish, translations and docs all count.

  1. Fork the repository
  2. Branch: git checkout -b feature/amazing-feature
  3. Commit: git commit -m 'Add amazing feature'
  4. Push: git push origin feature/amazing-feature
  5. 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 featureIssue templates
💬 Ask a question · share a workflowDiscussions · SUPPORT.md
🔒 Report a vulnerabilitySECURITY.md — privately, never a public issue
🗺️ See what is plannedROADMAP.md
📋 See what changedCHANGELOG.md · Releases
🤝 Community standardsCODE_OF_CONDUCT.md

🧑‍💻 Contributors


⭐ Support the project

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.

Star on GitHubSponsor


📄 License

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

Releases

Used by

Contributors

Languages