A collection of free, fast, and privacy-focused developer tools that run entirely in your browser.
Live: good.tools
- 🔒 Privacy-first - Most tools run 100% client-side
- ⚡ Fast - No server round-trips for offline tools
- 🎨 Modern UI - Dark mode, responsive design
- 🐳 Self-hostable - Run your own instance
| Category | Tools |
|---|---|
| Encoding | Base64, URL Encoder, Protobuf Decoder |
| Security | Certificate Decoder, Hash Calculator, Java Deserializer |
| Network | DNS Lookup, WHOIS, What's My IP, IP Location, Packet Dissector |
| Development | JSON Formatter, XML Formatter, Diff Checker, Docker Browser |
docker build -t good-tools .
docker run -p 3000:80 good-toolsBy default, self-hosted instances have:
- ❌ Telemetry disabled
- ❌ Online tools hidden (require external APIs)
To enable tools that require backend APIs (DNS, WHOIS, etc.), you'll need to host the backend services and configure:
docker run -p 3000:80 \
-e DISABLE_ONLINE_TOOLS=false \
-e INTERNET_TOOLS_URL=https://your-api.example.com \
-e IMAGE_BROWSER_URL=https://your-images-api.example.com \
good-tools| Variable | Default | Description |
|---|---|---|
PORT |
80 |
Nginx listen port |
ENABLE_TELEMETRY |
false |
Enable Google Analytics |
GA_TRACKING_ID |
"" |
GA4 tracking ID |
DISABLE_ONLINE_TOOLS |
true |
Hide online tools |
INTERNET_TOOLS_URL |
"" |
DNS/WHOIS/IP API URL |
IMAGE_BROWSER_URL |
"" |
Docker browser API URL |
npm install
npm run devnpm run dev- Start dev servernpm run build- Production buildnpm run test- Run testsnpm run lint- Lint code
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-tool) - Make your changes
- Run tests and linting (
npm run test && npm run lint) - Commit with a descriptive message
- Push and open a Pull Request
- Create component in
src/tools/YourTool.tsx - Add route in
src/config/routes.config.ts - Register in
src/config/tools.config.tsxwith:online: falsefor client-side toolsonline: trueif it requires backend APIs
MIT