Browser-based tools that run 100% locally on your device. Free, no accounts, no tracking, no uploads — your data never leaves your browser.
| Tool | What it does |
|---|---|
| Unit Converter | Convert between length units (meters, miles, inches, rack units) and weight units (grams, pounds, tonnes) |
| Currency Converter | Convert between world currencies using live exchange rates |
| Image Converter | Convert images between formats right in your browser |
| Text File Converter | Convert text files between encodings and line endings in your browser |
- Private by design — everything is processed locally, nothing is uploaded
- Free forever — no accounts, no paywalls, no limits
- Instant — no waiting on servers, tools respond immediately
- Works everywhere — a modern browser is all you need
BrowserWorkshop is free for everyone. If you find it useful, consider making a donation to help keep it that way:
GNU Affero General Public License v3.0 (AGPL-3.0) — see LICENSE. Copyright (c) 2026 Barbote.
BrowserWorkshop is libre software: you may use, study, share, and modify it, but if you operate this software over a network, you must offer its complete source code to your users. See the license for full terms.
A monorepo for browser-based local tools built with React, TypeScript, and Panda CSS.
packages/
ui/ — Reusable UI primitives (buttons, inputs, layouts, conversion components)
tools-convert/ — Unit conversion tools (length, weight)
website/ — Vite + React application with TanStack Router
- Create a new package under
packages/<tool>/ - Follow the pattern from
packages/tools-convert/:package.jsonwith"exports": { ".": { "source": "./src/index.ts", "default": "./src/index.ts" } }tsconfig.jsonwith"noEmit": true— never build in dev mode, TS files imported directly- Source files under
src/
- Add the package as a workspace dependency to
packages/website/package.json - Create a route in
packages/website/src/routes/for the tool - Add the tool to the sidebar tree in
packages/website/src/components/layouts/tools/toolsSidebar.tsx
In dev mode, all packages import raw .ts/.tsx files directly via Vite's
resolve.conditions: ['source'] export condition. No compilation step needed.
pnpm dev # Start all packages in parallel
pnpm build # Production build
pnpm format # Format code with Biome
pnpm lint # Check code with Biome
pnpm lint:fix # Fix lint issues and organize imports