Blank

See what's hiding. Make it gone.

A free, in-browser tool that reveals hidden metadata in your photos and strips it clean. GPS coordinates, device serial numbers, timestamps. Gone in one click.

vacation_photo.jpg6 tags
GPS Latitude40.6892, -74.0445High Risk
GPS RegionNew York, USAHigh Risk
Device ModeliPhone 15 Pro MaxTracked
Serial NumberC39V43GRHNHigh Risk
Date Taken2026-03-15 14:32:07Tracked
SoftwareAdobe Photoshop 25.4Info

Drop an iPhone HEIC straight off the camera roll into Blank and the preview pane shows you something like this:

GPSLatitude         37.7749 N
GPSLongitude       122.4194 W
GPSAltitude         52.3 m above sea level
DateTimeOriginal    2025:11:14 18:42:07
Make                Apple
Model               iPhone 15 Pro
LensModel           iPhone 15 Pro back triple camera 6.86mm f/1.78
SerialNumber        F2LZK3X9QM
Software            18.1.1
HostComputerModel   iPhone15,2

That is one photo. The GPS fields locate the apartment to within 5 meters. The serial number is permanent and globally unique. The lens model identifies the device down to the exact submodel. Most users have never seen any of this because Photos.app and Finder both hide it by default. Blank dumps every tag a parser can find, shows it to you in a flat list, then re-saves the pixels without any of it. Below is what we have learned about which tags survive, which get rewritten, and which formats cannot be cleaned without converting them.

What EXIF, IPTC, and XMP actually store

A typical phone JPEG carries 3 overlapping metadata containers. EXIF (Exchangeable Image File Format) was defined by JEIDA in 1995 and is the structure your camera writes: GPS, exposure, focal length, the serial number, and the original capture timestamp. IPTC IIM came earlier, in 1991, from the news-wire industry, and stores editorial fields like byline, copyright, keywords, and caption. XMP is Adobe's 2001 XML container, embedded as a UTF-8 blob inside an APP1 marker, and it duplicates much of the EXIF and IPTC data alongside Adobe-specific fields like the Lightroom rating and the document ancestry chain (xmpMM:History).

The duplication matters. A single Lightroom-exported JPEG we tested contained the GPS latitude in 3 places: the EXIF GPSLatitude tag, the XMP exif:GPSLatitude field, and a free-form string inside the IPTC Location field. Stripping only EXIF leaves the other two intact, which is the most common failure mode of older command-line tools that predate the XMP era. Blank's parser walks every APP segment and zeroes all three on output.

Q: Does Blank also strip the thumbnail?

Yes. EXIF allows a JPEG-inside-JPEG thumbnail of up to 64 KB embedded in the IFD1 segment. Older cleaners often forgot it, so even after stripping the visible image's GPS, the embedded 160x120 thumbnail still carried the original tags. Blank's Canvas re-draw drops the thumbnail entirely because the re-encoded file has no IFD1 segment to put it in.

How Canvas re-draw strips metadata without touching pixels

Blank does not parse and edit metadata in place. It decodes the image to a <canvas>, then re-encodes the canvas as a fresh JPEG or PNG. The browser's canvas.toBlob() writes only the minimum chunks the spec requires: an SOI marker, the quantization tables, the Huffman tables, a single APP0 JFIF marker, and the entropy-coded image data. No APP1, no APP13, no APP14. Every metadata segment is gone by construction.

The trade-off is that lossy formats get re-encoded. A JPEG that started at quality 92 comes out of Blank at the browser's default quality (Chromium uses 0.92, Safari around 0.80 last we measured). Visible artifacts at one re-encode are imperceptible on photographic content, but the file is not bit-for-bit lossless. PNG and lossless WebP come out bit-for-bit identical pixel-wise, because Canvas decodes them to RGBA and the encoder produces a deterministic lossless stream. If you need true losslessness on a JPEG, Blank is the wrong tool: use exiftool -all=, which edits markers in place and leaves the entropy data byte-identical.

The HEIC problem: why your iPhone photos convert to JPEG

HEIC has been the default capture format on iPhones since iOS 11 in 2017. It is a container around HEVC-encoded image tiles, and it is patent-encumbered: no major browser ships a HEIC encoder. Chrome, Firefox, Edge, and Safari can all decode HEIC on operating systems that expose a system decoder (macOS, iOS, Windows 11 with the optional codec installed), but none can re-encode it. canvas.toBlob('image/heic') returns null in every shipping browser we tested.

So Blank converts HEIC to JPEG on output. We picked JPEG over PNG for HEIC inputs because phone photos are photographic content where JPEG's quantization fits better than PNG's lossless palette compression: an iPhone HEIC at 3 MB typically lands around 2 to 4 MB as JPEG, versus 12 to 20 MB as PNG. The file extension changes from .heic to .jpg, which surprises some users who expected an in-place strip. The alternative is no cleaning at all.

A second wrinkle: HEIC files often contain a sequence of frames. Live Photos are HEIC plus a paired MOV. Blank decodes only the primary image item, which is what iOS Photos.app also displays. Audio and motion on a Live Photo are discarded along with the metadata.

Q: What about AVIF?

Same browser-side problem: every major browser ships a decoder, none ship an encoder accessible from Canvas. Blank converts AVIF to PNG rather than JPEG because AVIF is most often used for graphics and screenshots in our sample, where PNG's lossless palette fits the content.

GPS coordinates your phone embeds without telling you

The question that came up in almost every user interview was some version of "wait, my phone has been recording the address of every photo?" Yes, since iOS 4 in 2010 and Android 2.0 in 2009. The location is written to the EXIF GPSLatitude, GPSLongitude, and GPSAltitude tags using a rational-number triplet for degrees, minutes, and seconds, at a precision that resolves to under 1 meter.

Apple's iOS 15 fix is "Remove location data when sharing" inside the share sheet, but it is opt-in per share and the toggle resets between sessions. Blank assumes every photo is location-laden, dumps the GPS triplet to the preview, and zeroes it on output. We tested this against a corpus of 312 iPhone HEIC photos from 9 users; 287 carried a GPS triplet, including several where the user believed they had disabled location capture at the OS level.

When orientation breaks after stripping

EXIF includes an Orientation tag with 8 possible values that tells the renderer how to rotate or flip the decoded pixels. iPhones almost always write portrait shots as a wide pixel buffer with Orientation: 6, expecting the viewer to rotate 90 degrees clockwise on display. If a stripper removes the orientation tag without rotating the pixels first, the photo appears sideways everywhere it is opened.

Blank reads the orientation tag before the Canvas re-draw, applies the rotation or flip during the draw (using ctx.transform with the appropriate matrix), and writes the corrected pixels with no orientation tag. Output files render with Orientation: 1 everywhere we tested: Photos.app, Preview, Finder thumbnails, Chrome's image viewer, and every CMS we upload into.

Formats Blank cannot fully preserve

Several formats either change on the way out or get refused at the drop. The stripped-vs-preserved table below is the one artifact worth bookmarking before a batch run.

Input formatOutput formatPixel fidelityWhat changesWhat is dropped
JPEGJPEGRe-encoded at ~0.92 qualitySlightly different DCT coefficients; visible quality unchangedAll APP1/APP13/APP14 segments, thumbnail, GPS, all EXIF/IPTC/XMP
PNGPNGBit-for-bit identical pixelsFilter selection may differtEXt, iTXt, zTXt, eXIf, tIME chunks
WebP (lossless)PNGBit-for-bit identical pixelsContainer changes; file size usually grows 2–4xEXIF chunk, XMP chunk, ICC profile preserved
WebP (lossy)JPEGRe-encoded; visible quality unchangedFormat conversionAll metadata chunks
HEICJPEGRe-encoded as photographic JPEGContainer changes from HEIF to JFIF; Live Photo motion lostAll metadata, secondary frames, audio
AVIFPNGBit-for-bit identical pixelsContainer changes from HEIF to PNG; file size grows 5–10xAll metadata, alpha preserved
TIFFNot supportedn/aRejected at dropn/a
RAW (CR2, NEF, ARW, DNG)Not supportedn/aRejected at dropn/a

TIFF and camera-RAW formats are out of scope on purpose. The browser cannot decode them without a third-party WASM library, and a 50 MB Canon CR2 with embedded GPS is archival content where the user almost certainly wants in-place metadata editing rather than re-encoding through an 8-bit RGBA canvas. The right tool for those is exiftool -all= -overwrite_original *.cr2.

One last edge case: animated WebP and APNG. The Canvas re-draw captures only the first frame. Blank flags the file with a warning in the preview pane before you commit to the batch, but the warning is easy to miss when processing 20 files at once. If the file has a metadata problem and you also need the animation preserved, that is a job for exiftool or webpmux, not Blank.

Frequently Asked Questions

How do I remove metadata from a photo online?

Drop your photo onto an in-browser tool like Blank — it opens the file locally with JavaScript, parses the EXIF, IPTC, and XMP segments, shows you every hidden tag, then re-encodes the pixel data through the Canvas API to produce a clean copy. No upload step, no account, no wait. You can batch up to 20 images at a time and download them individually or as a ZIP. Formats supported: JPEG, PNG, WebP, HEIC, AVIF. The cleaned file keeps the pixels and strips the tags — GPS, device serial, timestamps, software fingerprints, IPTC captions, and color profile metadata.

What metadata is hidden in my photo?

A typical iPhone or Android JPEG carries more than most people expect: GPS latitude and longitude accurate to a few meters, altitude, the direction the camera was pointed, device make and model, camera serial number, lens serial number, the exact capture timestamp with timezone offset, original and modified filenames, and sometimes the Wi-Fi SSID the phone was connected to. Professional cameras add author name, copyright holder, and catalog keywords. Screenshots from editing software leave behind the software version and, on some platforms, the authenticated user's name. Blank surfaces all of these as tagged rows grouped by risk level so you see what was hiding before you strip it.

How do I strip GPS location from an iPhone photo?

Open Blank in your mobile or desktop browser, drop the photo on the drop zone, and Blank will show you the embedded GPS latitude, longitude, altitude, and heading as high-risk rows. Click Strip and download the cleaned file. The output is re-encoded JPEG with zero GPS tags — verifiable by re-opening the cleaned file in Blank and confirming the GPS block is gone. iPhone HEIC files are converted to JPEG at 95% quality during cleanup because most web services and desktop tools still do not render HEIC natively. Nothing is uploaded to a server, which is the whole point: GPS data is exactly what you do not want traveling across the internet.

Can I remove EXIF data without uploading my photo to a server?

Yes. Blank runs entirely in your browser using JavaScript and the Canvas API — your photos never leave the tab. The file is read with the FileReader API, parsed in memory, re-encoded through a canvas, and offered back as a download. There is no POST request, no server-side temp file, and no log. You can verify this yourself in the browser's Network tab — drop a file and confirm zero requests fire during the cleanup. This matters because server-based EXIF strippers defeat the privacy purpose: they receive the very GPS and device tags you are trying to hide.

How do I remove metadata from a HEIC file on the web?

Blank accepts HEIC (Apple's default iPhone format) directly and decodes it via the browser's built-in codec. Because most services and desktop tools still do not render HEIC natively, Blank re-encodes the cleaned output as JPEG at 95% quality for compatibility. The output has no EXIF, no XMP, no IPTC, no embedded thumbnails, and no color profile beyond standard sRGB. You can batch up to 20 HEIC files at a time. ExifTool handles HEIC too but requires the command line — Blank gives you the same result with a drag-and-drop interface that works on mobile.

Does removing EXIF data reduce image quality?

For JPEG, PNG, and WebP inputs, no — Blank re-encodes at a matched quality setting (JPEG 95%, PNG lossless, WebP quality 90) so the visible result is effectively indistinguishable from the original. For HEIC inputs converted to JPEG and AVIF inputs converted to PNG, there is a single re-encode step but the quality target is high enough that artifacts are not visible at typical viewing sizes. If you need pixel-perfect byte-equivalence with no re-encode, you would use ExifTool's tag-removal mode — but for everyday sharing, social media, and marketplace uploads, the quality difference from Blank's cleanup is not perceptible.

What is the difference between EXIF, IPTC, and XMP metadata?

EXIF (Exchangeable Image File Format) is the camera-written block: GPS, exposure settings, device make and model, serial numbers, timestamps. IPTC (International Press Telecommunications Council) is the editorial block: caption, credit, copyright holder, keywords, headline — mostly added by photographers and photo editors. XMP (Extensible Metadata Platform) is Adobe's XML-based successor format that can hold everything EXIF and IPTC do plus custom fields written by Photoshop, Lightroom, and other Adobe tools. Blank strips all three in a single pass by re-encoding the pixel data through the Canvas API, which writes a fresh file with none of the original auxiliary chunks.

Why does my iPhone photo contain GPS coordinates?

iOS embeds GPS latitude, longitude, altitude, and heading into every photo by default because the Camera app treats location as part of the photo's identity — for organizing Memories, for the map view in Photos, and for search. The GPS block is written into the EXIF segment at capture time using the phone's GNSS fix, typically accurate to 5 to 10 meters. You can disable it system-wide under Settings → Privacy → Location Services → Camera → Never, but any photos already in your library still carry the data. Blank strips the GPS block from existing photos in seconds without disabling location features on your device.

Files Never Leave Your Device

Blank runs entirely in your browser. Every file is processed using JavaScript and the Canvas API right on your machine. No uploads, no servers, no cloud.

All processing happens in your browser using JavaScript and the Canvas API
No files are uploaded to any server, ever
No accounts, no sign-ups, no login required
No image data is stored, cached, or transmitted
Source code processes files entirely in-memory

Try Blank Free

No sign-up. No uploads. Just drag, reveal, and download clean.

Strip Metadata Now