Skip to content

About

A collection of free, fast, and privacy-focused developer tools that run entirely in your browser.

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

good.tools

Free, fast, privacy-focused developer tools that run in your browser.

Live: good.tools

good.tools

  • Private. Most tools run entirely client-side, many of them with WebAssembly (Wireshark, FFmpeg, DuckDB, pandoc, libvips, qpdf, Tesseract, ExifTool, YARA-X, OpenCascade, ONNX Runtime with Whisper and Magika, zxing, mesh repair). Tools that call a server are labelled Online.
  • Fast. Each tool is code-split and loads only when you open it. Press ⌘K / Ctrl K or / to jump to any tool.
  • Works offline. Install it as an app; the local tools keep working without a connection.
  • Self-hostable. One Docker image, configured at runtime.
Category Tools
Development Diff Checker, JSON Formatter, JSON Escape, XML Formatter, YAML / JSON / TOML Converter, Markdown Notes, Regex Tester, Cron Expression, Timestamp Converter, UUID / ULID Generator, CSV / Excel ↔ JSON, Code Beautifier / Minifier, Color Picker & Converter, SQL Query (DuckDB), MCP Browser, Docker Browser
Encoding Base64, URL Encoder/Decoder, Protobuf Decoder, QR Code & Barcode
Text Word Counter, Case Converter, Lorem Ipsum Generator, Document Converter (pandoc)
Security JWT Decoder, Certificate Decoder, Java Object Deserializer, Hash Calculator, Password Generator, CSR & Certificate Toolkit, File Identifier (Magika), Metadata Viewer & Stripper (ExifTool), YARA Rule Tester (YARA-X), Binary Explorer
Network Packet Dissector (Wireshark), DNS Lookup, WHOIS, What's My IP, IP to Location, HTTP & TLS Inspector, Email Security Checker
Image Image Converter, Remove Background, Metadata Viewer & Stripper, Color Picker & Converter
Media Video & Audio Converter (FFmpeg), Speech to Text (Whisper)
3D & CAD STL Repair, STEP / IGES Viewer (OpenCascade)
PDF Images to PDF, Merge PDF, Organize PDF, Compress PDF, Edit PDF, Sign PDF, PDF to Images, PDF to Word, Word to PDF, PDF to Text (OCR), Protect / Unlock PDF

Development

bun install
bun run dev        # http://localhost:3000
bun run check      # type-check, Biome lint + format, tests

Stack: React 19, React Router, Vite, Tailwind CSS 4, TanStack Query, zustand, Biome, Vitest; a Bun workspaces + Turborepo monorepo.

Path What
apps/web the good.tools web app
packages/jdserialize, packages/protobuf-decoder npm libraries behind the Java and Protobuf decoders
packages/meshrepair STL mesh repair compiled to WebAssembly (C++/VCGlib)
tools/wasmpatch pinned upstream sources + patches for WebAssembly builds

To add a tool, read CONTRIBUTING.md. It covers the project layout, the tool registry, the UI guidelines and the PR process.

Self-hosting

Every release is published to the GitHub Container Registry for linux/amd64 and linux/arm64:

docker run -p 3000:80 ghcr.io/good-tools/good.tools:latest

In production, pin a release version tag (ghcr.io/good-tools/good.tools:<version>) rather than latest; see Releases. To build it yourself instead, run docker build -f apps/web/Dockerfile -t good-tools . from the repository root.

The image is a single Go binary (services/api) that serves the web app and the API behind the online tools (DNS, WHOIS, IP location, Docker Browser). It sends no telemetry. The online tools need outbound internet access, and IP location downloads a geolocation database at startup. For an offline instance, set DISABLE_ONLINE_TOOLS=true.

Variable Default Description
PORT 80 Listen port (use a port above 1024 outside Docker; the image runs as nonroot)
DISABLE_ONLINE_TOOLS false Hide the online tools and turn the API off
API_URL /api Where the web app calls the API, e.g. https://api.good.tools
ENABLE_TELEMETRY false Enable Google Analytics
GA_TRACKING_ID "" GA4 tracking ID

The API has more settings, such as rate limits, the image size limit and a MaxMind key; see services/api. Mount a volume at /data to keep its caches across restarts.

If you serve dist/ from somewhere else, send Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp. Multi-threaded WebAssembly (the image and video converters, among others) needs them.

Contributing

Contributions are welcome, whether a bug report, a new tool or a fix. Start with CONTRIBUTING.md.

Contributors

Contributors

License

MIT. Some bundled WebAssembly components keep their own licences: the FFmpeg core and Wireshark are GPL-2.0-or-later, and libvips is LGPL-2.1-or-later. Each tool's page lists the libraries it uses.

About

A collection of free, fast, and privacy-focused developer tools that run entirely in your browser.

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages