Skip to content

Latest commit

 

History

History
100 lines (73 loc) · 8.98 KB

File metadata and controls

100 lines (73 loc) · 8.98 KB

GoodWebTools — 193 Free, Privacy-First Web Tools That Run in Your Browser

Compress images, edit PDFs, remove backgrounds, decode JWTs, scan QR codes, and 180+ more — with nothing ever uploaded. Every tool runs 100% client-side with WebAssembly, Canvas, and on-device AI, so your files never leave your device.

🚀 Open goodwebtools.com · 🖥️ Desktop app · 🤖 Ask Agent

CI License: MIT Live Tools PRs welcome

GoodWebTools on desktop — searchable grid of 193 privacy-first browser tools across Image, PDF, Dev, Media and more GoodWebTools on mobile — responsive tool grid that works in any phone browser GoodWebTools mobile floating category menu for quick navigation between tool categories
Desktop Mobile Mobile category menu

If GoodWebTools is useful, star the repo — it helps other people find privacy-first tools.

Why GoodWebTools?

Most "online tools" quietly upload your files to a server. GoodWebTools does all the work in your browser — with WebAssembly, Canvas, the File System Access API, and on-device machine-learning models — so:

  • 🔒 Nothing is uploaded. Your images, PDFs, videos, and text stay on your device.
  • No sign-up, no limits, no watermarks. Just open a tool and use it.
  • 📶 Works offline. It's an installable PWA — cache it once, use it on a plane.
  • 🖥️ Native desktop app (Windows / macOS / Linux) built with Tauri, for tools that want the filesystem.
  • 🤖 Built-in AI agent that drives the tools for you — fully on-device, or with your own API key.

Tools

193 tools across 13 categories. Here's a taste — browse them all at goodwebtools.com.

Category Preview Popular tools
🖼️ Image (30) Background remover tool Background Remover · Image Compressor · Image Converter · HEIC to JPG · Favicon Generator
📄 PDF (20) Merge PDF tool Merge PDF · Organize PDF · Fill & Sign PDF · Extract Images · Add Page Numbers
🎬 Media (21) Video compressor tool Video Compressor · Subtitle Editor · Voice Recorder · White Noise
🎨 Draw (3) DB Diagram DBML editor with live ER diagram DB Diagram (DBML) · Whiteboard · Signature Pad
💻 Dev (57) JSON Formatter · Base64 · JWT Decoder · URL Encode/Decode · UUID Generator
📇 Documents (13) PPTX Viewer · PPTX to PDF · EML Email Viewer · GEDCOM Viewer
🧮 Calculators (17) Percentage Calculator · Time Zone Converter · Countdown Timer · Roman Numerals
🗂️ Files (6) Compress to Size · File Encrypt/Decrypt · Zip / Unzip · Archive Extractor
🔬 Testers (7) Device Test · Microphone Test · Webcam Test · Keyboard Test
🗺️ Maps (4) Coordinate Converter · Map Explorer · GeoJSON/GPX/KML Viewer · Static Map Maker
🌐 Network (3) P2P File Transfer · Video Call · Optical File Transfer
🎮 Games (7) Wheel Spinner · 2048 · Block Puzzle · Dino Run
🧪 Playground (4) Code Scratchpad · SQLite Playground · Online Notepad · Quick To-Do

🤖 Ask Agent — the tools, driven for you

Ask Agent — an in-browser AI assistant that runs GoodWebTools tools, on-device or with your own API key

Tell it what you want in plain language — "compress this image to 100 KB", "merge these PDFs", "remove duplicate rows from this CSV and convert to Excel" — and it picks the right tools, chains them, and hands back the result. It runs a small model fully on-device (WebGPU), or you can plug in your own OpenAI-compatible / Anthropic API key. Either way, the processing stays in your browser.

Tech

  • Astro static site + React islands (each tool is its own lazy-loaded chunk)
  • 100% client-side processing: WebAssembly, Canvas, onnxruntime-web, @imgly/background-removal, mupdf, ffmpeg.wasm, transformers.js / WebGPU
  • Installable PWA with offline support
  • Native desktop app via Tauri 2
  • Deployed on Cloudflare Workers (static assets + R2 for on-demand ML models)

Run locally

npm install --legacy-peer-deps
npm run dev            # http://localhost:4321

Build a production bundle with npm run build, run tests with npx vitest run.

Contributing

PRs are very welcome — new tools, fixes, and translations. Every tool is a thin React island (src/islands/<category>/) over a pure, unit-tested library (src/tools/<category>/*.lib.ts), registered in src/registry/tools.ts. The golden rule: keep everything client-side — if a feature would need a server, it doesn't fit GoodWebTools.

  1. Fork & branch (feat/<your-tool>)
  2. Add your *.lib.ts (with tests) + a thin island, register it in tools.ts, add SEO copy in tool-seo.ts
  3. npx vitest run && npm run lint && npm run build
  4. Open a PR

See CONTRIBUTING.md and DEPLOYMENT.md for the full workflow and self-hosting guide.

License

MIT — free to use, self-host, and build on.