|
Private |
Fast |
Offline |
Installable |
|
🖼️ Image to PDF |
🔗 Merge PDF |
🗂️ Page Organizer |
|
✍️ Sign PDF |
🔓 Unlock PDF |
🔐 PDF Locker |
|
📖 PDF Reader |
🔄 PDF Converter |
📷 Document Scanner |
|
🔁 Image Converter |
🍎 HEIC to JPG |
📉 Compress to Size |
|
🪪 Photo & Signature Resizer |
✂️ Remove Background |
📍 Remove EXIF / GPS |
|
🔤 Smart OCR |
|
▦ QR Generator |
📸 QR Scanner |
🧬 Base64 Converter |
|
|
flowchart LR
A[📂 Pick a file] --> B[🧠 Processed in your browser]
B --> C[⬇️ Download result]
style A fill:#7c3aed,color:#fff,stroke:none
style B fill:#0ea5e9,color:#fff,stroke:none
style C fill:#22c55e,color:#fff,stroke:none
Nothing is uploaded at any step. Conversion, OCR, compression and editing all run locally with JavaScript and WebAssembly.
Plain HTML, CSS and JavaScript. No framework, no build step. Libraries are bundled locally so everything works offline.
| Purpose | Library |
|---|---|
| 📄 PDF create / edit | pdf-lib, jsPDF |
| 👁️ PDF rendering | PDF.js |
| 🔤 OCR | Tesseract.js (English + Hindi data included) |
| 🍎 HEIC conversion | heic2any |
| ▦ QR codes | qrcode, jsQR |
| 🗜️ ZIP handling | JSZip |
| 🎬 Intro effects | three.js |
| 💬 Feedback / VIP pages | Firebase |
📁 Project structure (click to expand)
converter/
├── index.html # Main app
├── *.html # Landing page per tool (jpg-to-pdf, merge-pdf, ...)
├── index (2..5).html # Feedback, VIP and beta pages
├── tools.js # Extra tools (compress, scanner, sign, EXIF, QR scan, ...)
├── pwa.js · sw.js # PWA install logic and service worker
├── mg-*.js # Intro, deep links, icons, library loader
├── lib-*.js # Bundled third-party libraries
├── *.traineddata.gz # OCR language data (English, Hindi)
├── appicon-* # Icon theme packs
├── manifest.webmanifest # PWA manifest
├── sitemap.xml · robots.txt
└── 404.html · offline.html
🚀 Run locally (click to expand)
Service workers and camera access need a server, so don't just double-click the file.
git clone https://github.com/codemaster2013/converter.git
cd converter
python3 -m http.server 8080Then open http://localhost:8080
Your files are never sent to a server.
Everything happens locally in your browser.
Found a bug or have an idea? Open an issue
Made with ❤️ by codemaster2013
⭐ If you like the app, star the repo!



