Skip to content
kingrishabdugarPublic

About

Free, private PDF, image, audio, Word, Excel & PowerPoint tools that run 100% in your browser. Remove backgrounds from photos, GIFs and videos, edit and convert PDFs, transcribe audio. No uploads, no sign-up, no watermark. 68 tools · 16 languages.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

25 stars

Watchers

1 watching

Forks

Fizzdoc

Free, private tools for PDF, images, audio, Word, Excel and PowerPoint that never see your files.

68 tools — compress, convert, edit, redact, remove backgrounds, merge, split, cut, OCR, transcribe — running 100% in your browser.
No uploads. No sign-up. No watermark. No limits. Free forever. 16 languages.

Open source. Edits PDF text in the file’s own font, transcribes audio with Whisper on your device, and never hands your files to anyone.

Open Fizzdoc →  ·  All tools  ·  How it works  ·  Contribute

GitHub stars Tests Apache-2.0 license 0 bytes uploaded Free forever 68 tools 16 languages PRs welcome

Website status Good first issues Tools wanted Last commit Hacktoberfest issues

Fizzdoc: private document tools in light and dark mode


✨ Why Fizzdoc

Most free online file tools ask you to upload your contract, payslip, bank statement, passport photo or voice recording to someone else's server. Fizzdoc doesn't have a server to upload to. Everything runs inside your browser tab with WebAssembly and JavaScript, and the page's Content Security Policy blocks it from connecting to any other site — you can check it yourself in the Network tab.

What you get
🔒 Your file stays on your device No upload endpoint exists, and the CSP blocks connections to any other site
🧰 68 tools in one place PDF, Word, Excel, PowerPoint, images, audio, JSON and Mermaid
✏️ Edit PDF text in its own font Changed lines are rewritten inside the PDF with its embedded font, size and colour
🎙️ Speech to text on the device Whisper runs in the browser: TXT, SRT or VTT, offline after a one-time download
🆓 Free forever No account, no daily limits, no watermark, no premium tier
🌍 16 languages Including Hindi, Bengali, Marathi, Tamil and Telugu
📱 Nothing to install Any modern browser, on phones too
📖 Open source Apache-2.0, every line on GitHub

Fizzdoc demo: compress, edit PDF text, select text in a photo with OCR, Hindi interface, dark mode

🎬 See it in action

✏️ Edit PDF text in place
Click any text and type. The line is rewritten in the PDF’s own font when it has those letters, and nothing is uploaded.

Editing PDF text directly on the page
🔍 Copy text from any photo
On-device OCR with Live Text-style selection, right on the image.

Selecting recognized text on an image
🧩 Merge, reorder, done
Drag to reorder. Forms and links survive; anything that can't is reported.

Merging and reordering PDFs
🌍 16 languages
Every page, tool and error message, from Hindi and Tamil to German and Vietnamese.

Fizzdoc in Hindi, Spanish, Tamil, German, Bengali and Vietnamese

🔎 Popular tasks

I want to… Use
Get a photo or signature under 20 / 50 / 100 KB for an exam, job or government form Compress image to 20 KB · 50 KB · 100 KB
Compress images without losing quality, JPG, PNG or WebP, in bulk Compress Image
Cut an MP3, trim a song or make a ringtone, with no quality loss Cut & Split Audio
Join MP3 or M4A files or voice notes into one track Merge Audio
Turn a recording, voice note or video into text, privately Audio to Text
Make SRT subtitles for a video, without uploading it Subtitle Generator
Reduce PDF size for email or an upload portal Compress PDF
Edit text in a PDF, or black out personal details for good Edit PDF · Redact PDF
Turn a PDF into an editable Word file, or Word into PDF PDF to Word · Word to PDF
Remove the password from a bank statement, or add one Unlock PDF · Protect PDF
Remove the background from a photo, or put white, a colour, a blur or another photo behind, at full resolution Remove Background
Copy text from a scanned PDF, a photo or a screenshot OCR PDF · Image to Text
Combine photos or screenshots into one PDF JPG to PDF · PNG to PDF
Convert everyday formats: PNG ↔ JPG, WebP → JPG, Excel ↔ CSV Convert Image · Excel to CSV · CSV to Excel
Turn a spreadsheet into JSON for an API, or open JSON in Excel Excel to JSON · JSON to Excel
Export a Mermaid diagram as PNG or SVG for slides, docs or a README Mermaid to PNG · Mermaid to SVG
Remove hidden author and company names before sharing an Office file or PDF Word · Excel · PowerPoint · PDF

🧰 All 68 tools

Format Tools
PDF Edit PDF (change text in place, in the PDF’s own font) · Redact (black out text for good) · Compress · Merge · Split · Extract pages · Reorder pages · Rotate · Delete pages · Page numbers · Watermark · Unlock (incl. Aadhaar, e-PAN, bank statements, ITR-V) · Protect (AES-256) · Remove metadata · OCR · PDF → Scanned PDF
PDF conversions PDF → Word · PDF → PowerPoint · PDF → JPG · PDF → PNG · PDF → Text · PDF → Markdown · JPG → PDF · PNG → PDF · Text → PDF · Markdown → PDF
Word Word → PDF · Compress · Remove metadata · Extract images
Excel Excel → CSV · CSV → Excel · Excel → JSON · JSON → Excel · Compress · Remove metadata · Extract images
PowerPoint Compress · Remove metadata · Extract images
Images Remove background (AI on your device, full resolution) · Remove GIF background · Remove video background (no green screen, sound kept) · WhatsApp sticker maker · Compress (to 20 KB, 50 KB, 100 KB for forms) · Resize (larger or smaller) · Convert · PNG → JPG · JPG → PNG · WebP → JPG · JPG → WebP · Image → Text (select text right on the photo, like Live Text) · Mermaid → PNG · Mermaid → SVG (diagrams from code, with a preview and ready-to-use examples)
Audio Cut & Split Audio (trim or split an MP3/M4A on a waveform, preview every part) · Merge Audio (listen before you download) — no re-encoding, so no quality loss · Audio to Text · MP3 to Text · Video to Text · Subtitle Generator (SRT/VTT) — speech to text with OpenAI's Whisper running on your device; the model downloads once, then works offline

Google Docs, Sheets and Slides work too: download as .docx / .xlsx / .pptx and use the matching tool. Nothing is sent to Google.

Languages: English · हिन्दी · বাংলা · मराठी · தமிழ் · తెలుగు · Español · Português · Français · Deutsch · Italiano · Nederlands · Polski · Türkçe · Bahasa Indonesia · Tiếng Việt — add yours.

🤖 Use it from AI agents (MCP)

Fizzdoc also runs as a local MCP server, so Claude Code, Codex, Claude Desktop, Cursor and other AI agents can merge, split, rotate, protect or unlock PDFs and trim, split or join MP3/M4A on your machine, with nothing uploaded.

It's published on npm as fizzdoc-mcp. The tools:

  • PDF: merge, split, extract, reorder, delete and rotate pages, add or remove a password, remove hidden metadata, page count
  • Audio: trim, split and join MP3/M4A without re-encoding
  • Office: remove author, company and other hidden metadata from .docx, .xlsx and .pptx
claude mcp add fizzdoc -- npx -y fizzdoc-mcp

On Windows, use claude mcp add fizzdoc -- cmd /c npx -y fizzdoc-mcp. Setup for Codex and other clients, and the full tool list: mcp/README.md. Image tools are on the way (#61).

🔒 Private by design — verify it yourself

Safe for bank statements, ID cards, payslips, medical records and client files, because:

  • No uploads, ever. There is no upload endpoint and no backend that could receive a file.
  • The browser enforces it. Every page ships a Content Security Policy (connect-src 'self') that blocks connections to any other site.
  • No account, no cookies, no analytics, no ads, no trackers. The only things stored are your theme and whether you've seen the language tip.
  • Nothing is kept. Close the tab and your file, passwords and results are gone.

Check it yourself:

  1. Open any tool, then your browser's developer tools → Network.
  2. Run a job.
  3. You'll see the app's own files load, and no request carrying your document.

The test suite does the same in real Chromium on every commit: it runs real jobs (merge, edit, OCR and more) and fails if any request goes to another origin; the merge test also fails on any request that isn't a plain GET or that carries a body. The core PDF jobs (merge, split, rotate, delete, protect, unlock) run qpdf in a disposable Web Worker that is terminated afterwards, taking your file, passwords and memory with it.

Your PDF stays intact

Most browser PDF tools copy pages with a library that silently drops bookmarks, forms and links. Fizzdoc's core PDF tools use qpdf compiled to WebAssembly, which rewrites the document structure instead:

Merge Split / delete Rotate
Form fields ✅ from every file ✅ removed cleanly with their pages ✅
Internal links ✅ retargeted ✅ ✅
Bookmarks ✅ first file · ⚠️ warns for later files ✅ · ⚠️ warns if a target page was removed ✅
Page quality Lossless Lossless Lossless

When something genuinely can't be carried over (a digital signature, accessibility tags), Fizzdoc tells you instead of dropping it silently.

⚙️ How it works

Fizzdoc architecture: a build step prerenders static pages to Cloudflare Pages; in the browser tab, the page controller hands files to the qpdf worker, pdf.js / pdf-lib / fflate, the OCR engine and the Whisper speech worker, and the result is saved straight back to the visitor's device

  • Static site, zero backend. Nothing to scale, nothing to breach, nothing to pay for.
  • Lazy engines. First load is about 15 KB of gzipped app code; each engine, including the Whisper speech model, downloads only when a tool needs it.
  • One registry drives everything. Add a tool in src/site.ts and its page, SEO tags, sitemap entry and footer link appear in all 16 languages.

Explore the interactive architecture map or read docs/ARCHITECTURE.md.

❓ FAQ

Is it really private? How can I check?

Yes. There is no server that receives files: the site is static, and every page ships a Content Security Policy that only allows connections to its own origin. Open DevTools → Network, run any tool, and you'll see no request carrying your document. The test suite fails if one ever appears.

Is it really free forever? What's the catch?

There isn't one. Your browser does the work, so Fizzdoc is just static files that cost almost nothing to host — there are no servers to pay for. No account, no daily limit, no watermark, no ads, no premium tier. And it's open source under Apache-2.0, so anyone can run their own copy.

Does it work offline or on a phone?

It works in any modern browser on phones, tablets and desktops. An installable offline app is on the roadmap.

What doesn't it do (yet)?

OCR is English-only for now, speech to text works best on clear English, audio tools handle MP3 and M4A only, and PowerPoint → PDF and legacy .doc/.xls/.ppt aren't supported. Edit PDF can only use letters the PDF's font already contains; other lines are covered and redrawn in a standard font, so to hide text for good use Redact PDF. See the roadmap below.

🚀 Run it locally

Open in GitHub Codespaces

Or on your machine:

git clone https://github.com/kingrishabdugar/fizzdoc.git
cd fizzdoc
npm install
npm run dev          # http://localhost:5173
npm run check        # typecheck + unit tests
npm run test:e2e     # production build + real-browser tests
npm run build        # static site in dist/ — deploy anywhere

Requires Node 22+. Deploys as plain static files to Cloudflare Pages, Netlify, GitHub Pages or any web server.

🤝 Contributing

Fizzdoc is built to be easy to contribute to — you don't need to know anything about PDFs to help.

  • 🌍 Translate — add or improve a language by editing one JSON file. How →
  • 🧰 Add a tool — a new tool is one registry entry, one engine function and a test. How →
  • 🎃 Good first issues — issues labelled good first issue are scoped and ready to pick up, all year round. Guidelines →
  • 🐛 Fix a bug — every issue labelled good first issue is scoped for a first PR.
  • 💡 Ideas — open a feature request for the tool you wish existed.

Read CONTRIBUTING.md to get started. First-time contributors are very welcome.

🗺️ Roadmap

  • Installable offline app (PWA)
  • Sign PDF (draw or type a signature)
  • Page thumbnails with drag-and-drop reordering
  • OCR in more languages, downloaded on demand
  • Layout-faithful PDF → Word (tables, columns, images)
  • Fill PDF forms
  • More audio formats (WAV, OPUS, WebM) and conversion to MP3 or M4A
  • More tools in the MCP server: compress, convert, OCR, redact (#61)

Vote with a 👍 on the issues you want most.

⭐ Support the project

If Fizzdoc saved you from uploading something private, give it a star — it's the single best way to help more people find a private alternative.

Star history

Contributors

Contributors

🙏 Credits

Fizzdoc would not exist without these open-source projects and the people who maintain them:

Project What it does in Fizzdoc By
qpdf Merge, split, rotate, encrypt and decrypt PDFs losslessly @jberkenbilt and the qpdf contributors
qpdf-wasm qpdf compiled to WebAssembly @neslinesli93
pdf.js Renders pages, extracts text, powers the editor Mozilla and contributors
pdf-lib Writes and edits PDFs, stamps, the OCR text layer @Hopding
Tesseract and tesseract.js Text recognition, compiled to WebAssembly tesseract-ocr and naptha
BiRefNet The AI model that removes backgrounds (BiRefNet-lite: 512 px export by studioludens, 1024 px export for “Sharper edges” by onnx-community) @ZhengPeng7 and co-authors
U²-Net The light background model for phones with little memory @xuebinqin
ONNX Runtime Web Runs the AI models in the browser, on the GPU (WebGPU) or CPU Microsoft and contributors
gifuct-js and gifenc Read and write animated GIFs for GIF background removal @matt-way and @mattdesl
Mediabunny Reads and writes videos for video background removal, keeping the sound @Vanilagy
Whisper and Transformers.js Speech to text, on the device OpenAI and Hugging Face
fflate Reads and writes Word, Excel, PowerPoint and ZIP files @101arrowz
Inter The typeface @rsms
Archify Generates the interactive architecture map @tt-a1i

Built and tested with Vite, TypeScript, Vitest and Playwright. Full license details are in THIRD_PARTY_NOTICES.md.

👋 About the author

Fizzdoc is designed and built by Rishab Dugar, a Senior Data Scientist in Bengaluru working on AI systems and production data platforms. It started from a simple frustration: why should a payslip or a passport scan travel to someone else's server just to be merged or compressed? (How it was built: Independent work.)

rishabdugarjain.in GitHub @kingrishabdugar

🧭 Independent work

Fizzdoc was designed and built independently by Rishab Dugar, from scratch, after researching how document processing can run entirely in a browser without a server. It is not affiliated with, endorsed by, or derived from any other PDF or document service.

Any resemblance to other products is coincidental. Tools in this category solve the same everyday tasks (merge, split, compress, convert), and Fizzdoc deliberately builds on the best open technologies available for each job, so some overlap in features or wording is natural:

  • PDF structure (merge, split, rotate, encrypt): qpdf compiled to WebAssembly with Emscripten, run in a disposable Web Worker with files mounted through WORKERFS
  • Rendering and text extraction: Mozilla pdf.js
  • Writing and editing PDFs: pdf-lib
  • OCR: Tesseract's LSTM engine via tesseract.js, self-hosted on the site's own origin
  • Word, Excel and PowerPoint: Office Open XML read and written directly, with fflate for the ZIP containers
  • Images: the browser's own codecs through createImageBitmap and OffscreenCanvas
  • Word, text and Markdown → PDF: the browser's native print-to-PDF pipeline
  • Privacy by construction: no upload endpoint at all, plus a strict Content Security Policy (connect-src 'self') that the browser enforces
  • Build and tests: TypeScript, Vite with static prerendering, Vitest and Playwright

Familiar interface patterns, such as a grid of tools per format, drag-and-drop upload and one page per task, are common conventions in document tools rather than borrowed designs. The code in this repository was written for Fizzdoc; the libraries above are used under their own licenses, listed in THIRD_PARTY_NOTICES.md.

📄 License

Apache-2.0 © Rishab Dugar. You're free to use, modify and share Fizzdoc, including commercially, as long as you keep the copyright and the NOTICE file crediting the original project in every copy or derivative. Fizzdoc stands on the shoulders of the projects listed in Credits — see THIRD_PARTY_NOTICES.md. Product names mentioned in this README are trademarks of their owners and are used only for comparison.

Keywords: free PDF editor online, merge PDF without uploading, compress PDF free, PDF to Word, redact PDF, OCR, compress image without losing quality, reduce photo size to 50 KB, image resizer, JPG to PNG, WebP to JPG, cut MP3 online free, merge MP3, audio trimmer, Word to PDF, Excel to CSV, Excel to JSON, JSON to Excel, Mermaid to PNG, Mermaid to SVG, Mermaid diagram examples, remove metadata, speech to text, edit PDF same font, private file converter, no upload, free forever, open-source, WebAssembly, client-side.

About

Free, private PDF, image, audio, Word, Excel & PowerPoint tools that run 100% in your browser. Remove backgrounds from photos, GIFs and videos, edit and convert PDFs, transcribe audio. No uploads, no sign-up, no watermark. 68 tools · 16 languages.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

25 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages