This page explains how every tool on IMTools is built and tested. Our goal is to be transparent about what runs in your browser and why you can trust the output.
1. Client-side by design
Every tool on IMTools runs entirely in your browser. We deliberately chose a client-side architecture because it gives users three guarantees we believe matter:
- Privacy: your files never reach a server.
- Speed: there is no network round-trip on the processing path.
- Reliability: tools keep working even if our servers go down.
2. Libraries we use
- Images: HTML5 Canvas,
browser-image-compression,libheif-js(HEIC). - PDFs:
pdf-libfor editing,pdfjs-distfor parsing. - Word documents:
mammothfor DOCX → HTML/text,docxfor DOCX generation. - Spreadsheets:
xlsx(SheetJS) for Excel and CSV. - OCR:
tesseract.jswith English plus several Indian language packs. - Cryptography: the native Web Crypto API for hash generation.
- QR codes:
qrcode.
3. Quality and accuracy testing
- Each tool has a set of canonical input files (image, PDF, DOCX, CSV) used as regression fixtures.
- After every dependency upgrade we re-run those fixtures and compare the outputs to a reference.
- For compressors and converters that target a numeric budget (KB, dimensions), we verify the output falls within the documented tolerance.
- OCR and PDF-to-DOCX outputs are spot-checked for layout fidelity on real Indian government forms.
4. Performance budget
We aim to keep every tool page under 200 KB of JavaScript on first load. Heavy libraries (pdf-lib, tesseract.js, libheif) are dynamically imported only when you actually click "Convert" or "Process" so the page stays light.
5. Accessibility
Tools are built with semantic HTML, keyboard-accessible controls, proper labels and visible focus states. We test against WCAG 2.1 AA where applicable.
6. Security
Inputs that may contain HTML (Markdown editor, Meta Tag generator) are sanitized with DOMPurify before rendering. We never use eval, innerHTML with untrusted strings, or third-party scripts on processing paths.
7. Limitations we are honest about
- PDF-to-DOCX cannot perfectly reconstruct complex multi-column layouts because the formats are fundamentally different.
- OCR accuracy depends on scan quality; very low-resolution scans (under 200 DPI) will return partial text.
- Image compressors trade a small amount of quality for big size reductions; for archival or print use, keep the original.
8. Feedback
If a tool produces an unexpected result, please tell us with the input file and what you expected. We treat every report as a fixture for our regression suite.