Skip to content
190 TOOLS · 0 SERVERS · 0 ACCOUNTS

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.

LIVE ENGINERUNNING
INHEIC4032 × 3024 4.28 MB
OUTJPGsame 1.42 MB

iPhone photos into a format every device on earth already opens.

RUNS ONCANVAS 2D
TYPICAL TIME~0.3 s / photo
BYTES SENT0

What 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.

ConvertsOptimises in placeNot a route
JPGPNGWEBPPDFGIFMP4MP3WAVCSV
JPG
PNG
HEIC
WEBP
PDF
MP4
MOV
MKV
AVI
WAV
JSON
0bytes of your files sent anywhere, on any tool, ever
190tools, from HEIC conversion to cron expressions
106of the 152 tools that take a file, this many take one of any size — the other 46 name their ceiling
—no account, no email, no trial, no watermark

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.

ENGINEHANDLESDOWNLOADLOADED
Canvas 2DImage conversion, compression and crop — plus the frames gifenc quantises into a GIF0 KBBUILT IN
libheifDecoding iPhone HEIC, which Canvas cannot open — the decoder and its WebAssembly binary, fetched as a pair. TIFF is decoded by utif2, which is bundled rather than served and is named under the table1.4 MBON FIRST HEIC
oxipngReal PNG re-compression — the one image job a canvas re-encode cannot do at all160 KBON FIRST PNG
pdf.jsAll PDF rendering — page thumbnails, and PDF to JPG or PNG1.6 MBON PAGE PREVIEW
pdf-libPDF page and document work — merge, split, rotate, reorder, page numbers, compression, and images into a PDF320 KBON FIRST PDF
qpdfPDF passwords and permissions — protect, unlock, restrict, and repair a damaged file2.3 MBON FIRST USE
FFmpeg WASMStream-copy video work — container swaps, muting, rotating, trimming, splitting and joining — plus audio extraction and formats, loudness and silence filters, and the one H.264 re-encode offered when a copy would not play31 MBON FIRST USE
TesseractReading printed text out of a photo, screenshot or scan — the OCR engine, its worker and the English language model, which is the only language served4.9 MBON FIRST OCR
WebCodecsVideo compression and WebM→MP4, hardware H.264 encoding0 KBBUILT IN
Web AudioDecoding, trimming and merging audio0 KBBUILT IN
lamejsMP3 encoding — the one codec browsers will decode but not write253 KBON FIRST MP3
zxing-wasmReading QR codes and barcodes out of a dropped image — the zxing-cpp reader, self-hosted rather than fetched from its default CDN1.0 MBON FIRST SCAN
libarchiveOpening TAR, 7z, RAR, CAB, ISO and CPIO, including tar.gz, tar.bz2 and tar.xz — listing what is inside and extracting it. This build cannot write an archive, and cannot open a bare .gz, .bz2 or .xz: a lone .gz is unpacked by the browser’s own DecompressionStream instead599 KBON FIRST ARCHIVE

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.