A converter with its receipts printed on it
SwiftConverter is built and run by Muhammad Mohsin, working as KodeElite, a small studio rather than a company with a sales team. It exists because every free converter we tried either watermarked the output, asked for an email, or was vague about where the file went.
It started with one irritation: an iPhone photo library full of HEIC files that Windows, older Android phones and most web upload forms still refuse to open. It has since grown past that. Today it converts between HEIC, HEIF, JPG, PNG, WEBP and SVG, turns DOC and DOCX into PDF, turns any image into a PDF, turns an animated SVG into an animated GIF, and compresses JPG, PNG and WEBP with a live size preview before you commit to the setting.
How a conversion actually runs
The work splits in two, and which half you land in decides whether your file leaves your machine at all. Every row in the tool says which half it is in, so you never have to reason about it from a policy page.
In your browser. JPG, PNG, WEBP and SVG going to JPG, PNG or WEBP are decoded and re-encoded by the browser's own canvas. Nothing is uploaded, nothing touches our server, and nothing counts against the daily quota. On a normal photo this finishes faster than the upload would have started.
On our server. Everything the browser cannot do goes to us: HEIC and HEIF decoding, DOC and DOCX to PDF, anything producing a PDF or a GIF, and all compression. Those files are processed in memory and discarded the moment your download begins. Images run through sharp, documents through a headless LibreOffice, and animated SVGs are rendered frame by frame by a headless Chrome before being encoded into a GIF.
We say “most image conversions never leave your device” rather than “nothing is ever uploaded”, because the second one would not be true. The exact split is written above so you can check it against what you are converting. Our privacy policy covers what happens to the files that do reach us.
What runs where
- In your browser
- JPG, PNG, WEBP and SVG into JPG, PNG or WEBP
- On the server
- HEIC, Word files, every PDF and GIF, all compression
- Documents
- LibreOffice, headless, profile reused between files
- Animated SVG
- A headless Chrome seeks frames rather than recording
If one of those is missing on the server, the feature degrades and says so on the page. It never errors silently.
Where the limits come from
These are not upsell gates. There is no paid tier to upgrade to. They are the point where a single visitor stops being free to serve on the modest hosting this runs on, and the browser-side conversions are exempt because they cost us nothing. The daily count resets at midnight UTC.
- 20 uploads a day
- One shared count across converting and compressing. The box is a single small server and this keeps it free for everyone.
- 25 MB per file
- A memory limit rather than a policy. Files are never written to disk, so they have to fit in RAM.
- 10 files at once
- The batch runs one file at a time, so a longer queue only means a longer wait with no way to tell what stalled.
- GIF stops at 800 px
- 120 frames, 5 to 20 fps. GIF stores frame delay in hundredths of a second, so past 20 fps the timing visibly steps.
- 30 s for a document
- LibreOffice runs headless with a reused profile. Past 30 seconds we stop rather than hold the connection open.
How it pays for itself
Hosting, the domain and the conversion servers are paid for by advertising. There is no paid plan, no upsell, and no data sold to anyone. Ads are loaded after the page is interactive rather than before it paints, so they never sit between you and the tool, and there are no interstitials or countdowns in front of a download.
Who builds it
Every format comparison on this site quotes numbers that were measured on real files, not copied from a spec sheet, and the blog publishes the method alongside the figures so you can disagree with them. You can check who that is: LinkedIn and GitHub.
Bug reports and format requests genuinely do get read. Send one through the feedback form or email contact@kodeelite.com.