Just File Tools

Image Tools

13 image utilities — compress, resize, convert, strip EXIF, watermark, remove backgrounds, decode QR codes. All in your browser, no uploads.

Image workflows without the upload step

Phone photos are the dominant image format of our era and they're constantly slightly wrong for whatever you need to do with them. They're HEIC when the recipient wants JPG. They're 4032×3024 when you need a 1200-pixel-wide thumbnail. They have GPS coordinates embedded that you'd rather strip before posting. They're 8 MB when the upload form caps at 5. Or you want to remove the background, add a watermark, rotate the one page that came out sideways. Each of these is a five-second operation in the right tool — the friction is finding a tool that doesn't require uploading the photo to someone else's server first.

The image tools here run entirely in your browser. The compression and conversion operations use the browser's native Canvas API and image codecs (JPG, PNG, WebP are all built in). HEIC conversion uses heic-to, a WebAssembly port of libheif. EXIF parsing uses exifr (about 15 KB). Background removal uses @imgly/background-removal, which runs a neural network locally via ONNX Runtime Web. QR code reading uses jsQR on either a still image or a live camera feed via getUserMedia. SVG optimization uses svgo. Each library is a lazy chunk that loads only when you actually use the tool — the homepage and the other tool pages don't pay the cost.

For workflows that span multiple operations (HEIC → resize → compress → strip EXIF), run each tool in sequence — the output of one feeds the input of the next. We chose to keep tools focused rather than building one mega-tool with every option exposed at once. Specific guides on common image workflows live in the guides section: how to convert HEIC on Windows, how to strip EXIF before sharing, how to compress images for the web without losing quality, and more.

All image tools

Frequently asked questions

Why convert HEIC to JPG in a browser?
Because uploading photos to an unknown server defeats the privacy point. iPhone photos are HEIC by default since iOS 11, and many Windows apps, email clients, and web upload forms reject the format. Our HEIC to JPG tool uses heic-to (a WebAssembly port of libheif) to decode in your browser. The wasm decoder is ~3 MB and lazy-loads on first use, then caches for the session. Batch mode handles multiple files at once and bundles the JPGs into a ZIP.
Does compressing images here lose quality?
JPG and WebP compression are lossy by definition — that's how they get small. We expose a quality slider (50–100%); 85–95% is the sweet spot where files shrink significantly but the visual difference is hard to detect on typical photos. PNG compression is lossless (it just removes pixel redundancy more efficiently). For the smallest possible files on the web, convert PNGs to WebP and compress JPGs at 80%.
What is EXIF data and should I strip it?
EXIF is the metadata camera apps embed in every photo: camera model, lens, settings, capture time, and — most importantly — GPS coordinates if location was on. Sharing a photo with GPS coordinates means sharing where you took it. The EXIF Viewer surfaces the coordinates in red and links to OpenStreetMap so you can see exactly what's exposed before posting. The Strip button re-encodes the image without metadata. Most social platforms strip EXIF on upload anyway, but for direct file shares (email, Slack, file transfers), the metadata travels with the file.
How does the AI background remover work?
It runs @imgly/background-removal — a JavaScript port of a U²-Net-style neural network — entirely in your browser via ONNX Runtime Web on WebGL or WebGPU. The model is ~70 MB and downloads on first use from a CDN, then caches for the session. Processing takes 5–20 seconds per image depending on size. Quality is excellent for clean subject-against-background photos; struggles with similar-color backgrounds or transparent objects.
What's the maximum image size?
Soft limit ~50 MB per file (configurable in code, defaults are conservative to avoid memory pressure on low-RAM devices). Browsers can theoretically handle larger but tab memory becomes the binding constraint above 100 MB or so. For huge images (40 MP raw camera output), resize first, then run further operations on the smaller version.
Can I batch-process multiple images?
Most tools handle one image at a time. Two exceptions: HEIC to JPG accepts multiple files and bundles output as a ZIP, and Compress Image runs on multiple files. For other batch workflows (resize a folder of 100 photos), a desktop tool like ImageMagick is faster. We're a browser tool optimized for the one-off case.