About this site
A short, honest account of what this site is, who runs it, how it pays for itself, and where it falls short.
What it is
ConverterQR is two tools on one page: a QR code generator and a file converter. Both run as JavaScript inside your browser rather than on a server. There is no account, no upload step, and no queue.
Why it was built this way
The starting point was frustration rather than a business plan. Converting a file online generally means handing your document to a company you have never heard of, accepting whatever their retention policy says, and often hitting a daily limit or an email-gate before you get the result back. For a holiday photo that is a reasonable trade. For a signed contract, a payslip, or a scan of a passport, it is not.
Browsers have quietly become capable enough that most of this work no longer needs a server. Rendering a PDF, reading a spreadsheet, decoding an iPhone photo, encoding an MP3 — all of it can happen on the machine in front of you. So the design constraint here was simple: if a feature requires uploading the file, it does not get built.
How it is funded
Advertising, and nothing else. There is no paid tier, no subscription and no upsell, and there is no plan to add one. Ads mean the usual advertising cookies, which do track across sites — the privacy policy states that plainly rather than burying it, including the parts that make the site look less impressive.
There is no hidden business model underneath. Since files never reach a server, there is no data asset here to sell even in principle.
What it deliberately cannot do
Working inside a browser tab has real costs, and pretending otherwise would be dishonest:
- Large files. Conversion happens in the tab's memory, so files much beyond about 100 MB can exhaust it. Server-based competitors have no such limit.
- Video conversion. Transcoding between video formats needs far heavier machinery than a browser can reasonably carry. The audio track can be extracted; the video cannot be converted.
- OCR. Text cannot be pulled out of a scanned PDF, because there is no text in the file — only pixels. This is on the list to add.
- Protected files. DRM-protected PDFs, password-protected documents and legacy .doc files are not supported.
Where a server-based tool would do the job better, it will say so rather than failing quietly.
How it is built
The whole thing is a single HTML file. Conversion libraries download only when you first use a format that needs them, which keeps the initial page small. The libraries are open-source and widely used: pdf.js and pdf-lib for PDFs, SheetJS and PapaParse for spreadsheets, Mammoth for Word documents, heic2any for iPhone photos, lamejs for MP3, jsQR for reading codes, js-yaml, JSZip and jsPDF. Because it is one file, view-source shows you the entire program, including every conversion routine.
The site is hosted as static files on Cloudflare Pages. There is no backend, no database and no server-side code, which is also why there is nowhere for your files to go.
Who runs it
This is an independently built and maintained project, run by one person rather than a company. Corrections, bug reports and feature requests are genuinely welcome and usually acted on — see the contact page.
What is planned
- Getting past the memory ceiling by streaming output to disk through the File System Access API, so large files stop being a limitation.
- OCR for scanned PDFs.
- More conversion formats as they prove possible client-side.