Skip to content

Foodhy/essential-tools

Repository files navigation

🧰 Offline Toolbox

Offline Toolbox — PDF, image, audio & data tools that run 100% in your browser

A free, fully offline utility app — 57 tools for PDF, image, audio and data work. Everything runs 100% in your browser. No upload, no server, no internet needed. Files never leave your device.

Installable as a PWA on macOS, Windows, and Linux. Light & dark themes.

Tools

PDF — Merge · Split / extract · PDF → images · Images → PDF · Rotate · Watermark · Page numbers · Organize (delete/reorder) · Compress · PDF → Word · PDF → Text · Word viewer Image — Convert · Resize / compress · Enlarge · Remove background (AI) · OCR · Rotate / flip · Crop · Watermark · EXIF viewer/cleaner · Color palette · Batch convert · ASCII art · Favicon set Audio / Video — Extract audio · Convert video · Trim · Video → GIF · Convert audio · Trim audio · Compress video · Extract frames · Waveform Data — Hash & verify · Base64 · JSON · Text case · UUID · QR generate / read · WiFi QR · Password · CSV ↔ JSON · Text diff · Color · Word count · Timestamp · JWT · Regex · URL/HTML encode · Number base · Lorem · Spreadsheet · HTML → Markdown · Markdown → HTML · Barcode

Quick start

npm install
npm run fetch-models   # one-time: downloads the offline engines/models
npm run dev

Then open the local URL. To test the production PWA + offline behaviour:

npm run build && npm run preview

How it works

  • Vite + React + TypeScript + Tailwind, single-page app.
  • Heavy work runs in Web Workers (Comlink) so the UI stays responsive.
  • PDF: pdf-lib (edit) + pdf.js (render). Audio/Video: ffmpeg.wasm (single-thread, no special headers). OCR: tesseract.js. Background removal: @imgly/background-removal (ONNX). Hashing: Web Crypto.
  • Offline: a service worker (vite-plugin-pwa) precaches the small app shell. The large engine/model assets (ffmpeg core, tesseract, the bg-removal model) are served from the app's own origin — never a CDN — and runtime-cached on first use, after which every tool works offline.

Models

The large binaries are not committed to git. npm run fetch-models copies the engine files out of node_modules and downloads the OCR language data and the background-removal model into public/ (git-ignored). Run it once after cloning, and again only if you bump those dependencies.

About

Offline tools for PDF, image, audio & data — runs 100% in your browser. No upload, no server, no internet. Files never leave your device. PWA, light/dark.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors