Free the Tools
Everyday tools should be free.
Free tools for PDFs, images, text, data and more. They run in your browser, so your files stay on your device.
Website · Use with AI · Request a tool · Contribute · Donate
Everyday tools should not cost money.
They should not come with ads.
They should not put your files at risk.
They should not be hard to find.
So here they are: one place, every tool, free for everyone. Help us build the next one.
Free the Tools is a Sapience Design initiative, built in the open with anyone who wants to help.
Why Free the Tools
- Free, with no limits. No ads, no accounts, no watermarks.
- Your files stay on your device. A Content Security Policy stops every page from sending data to another server, and tests fail if a tool tries. The site keeps only anonymous daily totals (what's counted).
- Works offline once a tool has loaded.
- Open source under AGPL-3.0.
- Works with AI assistants through the
freethetoolspackage. - Available in English, Norwegian, Spanish and Russian.
Tools
People ask for tools that do not exist yet. Accepted requests are open requests, and anyone can suggest a tool.
Use it
Open freethetools.com and pick a tool. There is nothing to install and no account to make.
Developers and AI agents can read the catalogue at /api/tools.json (described in openapi.yaml) or /llms.txt.
Use it with AI
Claude, Cursor and other AI assistants can use the tools instead of installing software such as Ghostscript, ImageMagick or a Python package, and without sending files to a server. It is free, with no account or login. Files stay on the device either way. There are two channels, and both use one definition per tool (ADR 0008).
| Channel | For | Setup |
|---|---|---|
The freethetools npm package, an MCP server on your computer | Claude Code, Claude Desktop, Cursor and other MCP clients | One step: Claude Code plugin (/plugin marketplace add sapience-design/freethetools, then /plugin install freethetools@freethetools), Gemini CLI (gemini extensions install https://github.com/sapience-design/freethetools), or the Add to Cursor and Add to VS Code buttons on freethetools.com/ai. By hand: claude mcp add freethetools -- npx -y freethetools mcp |
| WebMCP on each tool page | AI agents inside a browser | None. Chrome and Edge support it in origin trials; other browsers ignore it. |
The package is published on npm and listed in the official MCP Registry as io.github.sapience-design/freethetools. It reads files by path, saves results in a freethetools folder in your home folder, and records every job in library.jsonl. It also has a command line for agents without MCP: npx -y freethetools run <tool> '<json>'. Setup for each client is in docs/how-to/use-with-ai.md. The package source is in packages/freethetools. There is no hosted MCP server, because the files would have to be uploaded.
Why in the browser, and how far it goes
Services such as iLovePDF or CloudConvert process files on their own servers. Every file costs something to handle there, so free plans usually come with limits. Here the visitor's device does the work and the pages are static files, so a million visitors cost about what one does. That is why "free, with no limits" is a promise we can keep.
A browser can do more than most people expect. Ghostscript and qpdf run inside the page as WebAssembly, alongside pdf-lib, pdf.js and the image codecs, and the tools keep working offline once opened. Text recognition, translation and speech-to-text can run the same way. The gap between "needs a server" and "runs on your device" shrinks every year, and the tool list grows with it. Jobs a browser cannot do yet wait; we do not add a server to get there.
Request a tool
Open a tool request. Vote for existing requests with a 👍. Requests a maintainer accepts are labelled wanted and show on the site as open requests.
Build a tool
Most tools take an afternoon. The contributor guide walks you through it:
git clone https://github.com/sapience-design/freethetools.git
cd freethetools
npm install
npm run new-tool -- text word-counter "Word Counter"
npm run dev # http://localhost:4321/text/word-counter/
How it works
tools/<group>/<tool>/ | One folder per tool: tool.json (name, search text, specs, questions), Tool.astro (the interface), core.js (the logic) and tests |
src/ | The site: layout, home and group pages, tool pages, API and search files, all built from the tool folders |
astro.config.mjs | The Content Security Policy that keeps every page on its own origin |
worker/, migrations/ | The only server code: anonymous usage totals at /api/stats/*, stored in Cloudflare D1 |
packages/freethetools/ | The npm package: an MCP server and command line that run the tools on your computer. Build it with npm run build:package |
e2e/, tests/ | Browser tests and checks on the built site |
docs/ | Tutorials, how-to guides, reference and design decisions |
The site is static Astro plus one small Worker for anonymous totals, hosted on Cloudflare Workers, which builds and deploys every merge to main. Read docs/explanation/architecture.md for the reasoning.
Support
Free the Tools has no ads and no paywall. If it saves you time, you can donate or sponsor a tool. Money never buys features or placement.
Project
- Contributing · Code of conduct · Governance
- Security policy: report vulnerabilities privately, never in a public issue
- Changelog
Licence
Code: AGPL-3.0, copyright © Sapience Design and contributors. Third-party parts are listed in NOTICE.
"Free the Tools" and the Sapience name and logo are trademarks of Sapience Design and are not covered by the code licence. You are welcome to fork the code under a different name. See TRADEMARKS.md.