iPhone HEIC in. Clean web images out.
Your location never leaves the device.
Convert HEIC to WebP or JPEG and strip GPS & camera metadata — right in your browser, before a single byte is uploaded. Try it on a real photo:
100% on your device · nothing is uploaded
Why it's different
Privacy that's structural, not a promise
Nothing is uploaded
The engine is WebAssembly running in your browser. GPS coordinates are removed before the image could ever reach a server — yours or ours.
HEIC actually works
iPhones shoot HEIC by default and most upload flows choke on it. Stillport decodes it on-device (libheif + HEVC, compiled to WASM) and hands back a clean WebP or JPEG.
Surgical metadata
Strip everything, or keep copyright/IPTC credit while dropping GPS and device serials. Not all-or-nothing — field-level policies.
For developers
One engine, three ways to ship it
The same Rust core runs client-side (WASM/npm), as a stateless self-hosted API, or as a CLI. Drop GPS before it ever touches your infrastructure.
import { createStillport } from 'stillport';
const stillport = await createStillport();
const cleaned = await stillport.clean(file, {
policy: 'privacy-strict', // or 'photographer'
format: 'webp',
maxDimension: 2048,
});
// cleaned.blob → upload it; the original's GPS never left the deviceAlso: POST /v1/clean self-hosted API (Docker, stateless) · stillport CLI · source on GitHub.
Who it's for
Anywhere users upload photos from a phone
A photo of your apartment, your car, your kids carries the exact spot it was taken. Stripping that before it reaches your servers is a stronger privacy posture — and a cleaner GDPR story — than deleting it after receipt.
FAQ
Questions
Does Stillport upload my photos?
No. Everything runs in your browser via WebAssembly. Your image is never sent anywhere — you can watch the network tab. That's the whole point.
How do I strip GPS location from a photo?
Drop the photo above, keep the privacy-strict policy, and download the result. GPS coordinates, device serials and timestamps are removed; the image is re-encoded so no hidden metadata survives.
What is HEIC and why does it break uploads?
HEIC/HEIF is the format iPhones use by default. Many websites and apps can't read it, so uploads fail or lose orientation and color. Stillport decodes HEIC and converts it to widely-supported WebP or JPEG.
Can I keep my copyright when converting?
Yes — choose the photographer policy. It preserves copyright/IPTC credit and basic capture info while still removing GPS and device identifiers.
Can I use this in my own app or backend?
Yes. It ships as an npm package (this same WASM engine), a stateless self-hosted HTTP API (Docker), and a CLI. See GitHub.