Change the file.
Not the file’s owner.
Every engine runs inside your tab. There is no upload, because there is nowhere to upload to.
Type what you have and what you want — “heic jpg”, “pdf smaller”, “mp4 gif”. The tool opens with your file already in it.
iPhone photos into a format every device on earth already opens.
Five workshops
190 TOOLS TOTALWhat turns into what
Read down for what you have, across for what you need. A filled cell is a tool that already exists; an outlined one on the diagonal means the format stays put and only the file gets smaller.
Reached for most
Hand-picked across every category. Each opens with the file drop already focused.
What is actually running
No black box. Every engine this site serves you as its own file, and what that file costs the first time a tool needs it. The parsing libraries that ride inside a tool’s own bundle are not files, so they are named under the table rather than guessed at inside it.
BUNDLED, NOT SERVED — a handful of tools reach for a parsing library that arrives inside that tool’s own code-split chunk instead of as a file named above. It is a real download and this is roughly the size of it: about 925 KB of bwip-js on /barcode-generator; about 566 KB of svgo on /svg-optimizer; about 478 KB of mammoth on /docx-to-markdown; about 288 KB of sql-formatter on /sql-formatter; about 124 KB of jszip on /create-zip and /unzip-files. Smaller ones — utif2 for TIFF, pica for resizing, js-yaml, marked, turndown, diff, qrcode, gifenc, and the JavaScript loaders for the WebAssembly engines above — are at most tens of kilobytes each rather than hundreds; oxipng’s wasm-bindgen loader, the smallest of them, is 6,307 bytes. Every figure here says “about” because the bundler decides how a library is split, and the same library measures differently on two pages; the numbers come from this site’s own static export.
Drop a file. That is the whole onboarding.
No sign-up screen, no plan comparison, no “we’ve emailed you a link”. Pick a tool, drop the file, take the result.