Free · No Signup

Redacting a Live Photo or Motion Photo

Most pages on this site assume a photo is one flat frame. A Live Photo or Motion Photo from a recent phone is often two things glued together, and a redaction tool like this one only ever sees half of it.

🔒 No upload · Runs in your browser · Instant download

Every other page on this site treats “the photo” as a single flat image: one frame, one set of pixels, maybe some metadata trailing behind it. Open a picture taken on a fairly recent iPhone, Pixel, or Galaxy phone in anything other than its own Photos or Gallery app, though, and that assumption can quietly fail. What looks and plays back as one photo is often two linked pieces of media bolted together: the still frame you actually see and redact, and a few seconds of video, usually with its own audio, captured around the moment the shutter was pressed. Covering the still with a box, a blur, or a solid fill does nothing to the second half, because this editor, like most browser-based image tools, never loads it, never displays it, and has no code path that could reach it even if it tried.

This isn't a hypothetical edge case. Apple's Live Photos have shipped on every iPhone since the 6s and are on by default in the Camera app; Google and Samsung ship an equivalent feature, commonly called Motion Photo, on most of their recent phones, also frequently on by default. If you've ever redacted a photo of a document, a whiteboard, or a screen that started life as one of these captures rather than a plain screenshot, there is a real chance a second asset is traveling with it that nothing on this page, or any still-image redaction tool like it, has ever looked at.

Mode
Shape

Drop your image here

Or click to browse · Paste with Ctrl+V also works

PNG · JPG · WebP · GIF
How It Works
1

Open

Drop your image in or paste from clipboard.

2

Pick Mode

Black Box, Blur, or Pixelate.

3

Select Areas

Rectangle, oval, or freehand lasso — then hide what you selected.

4

Download

Hit Download PNG. Done.

SquooshNeed to shrink your image after editing? Squoosh is a free browser-based image compressor with no upload required.

Visit Squoosh →
Guide

One fact carries this page: a Live Photo or Motion Photo is not one still image, it's a still image plus a separately captured video, usually with audio, and this editor's redaction tools only ever reach the still.

Two formats, two different ways of hiding a second asset

Apple's Live Photo is actually two separate resources tied together by a shared asset identifier: a still image (HEIC or JPEG) carrying an Apple Maker Note asset-identifier tag, and a QuickTime .MOV file encoded at roughly 12–15 frames per second around 1080p, carrying a matching identifier plus a timed-metadata marker for exactly where the still frame sits inside the video's timeline. Apple's own developer documentation describes what that second file actually holds: when the shutter is pressed, the Camera app “captures much more content along with the regular photo, including audio and additional frames before and after the photo.” When a Live Photo is exported or shared as files rather than kept inside the Photos app, it typically surfaces as two files sharing a base name — IMG_0941.HEIC and IMG_0941.MOV — or bundled into a single .livp archive, which is simply a zip container holding both.

Google and Samsung's Motion Photo works differently. Android's own developer documentation describes the format plainly: “Motion Photo files consist of a primary still image file, JPEG, HEIC, or AVIF, with a secondary video file appended to it. The primary image contains Camera XMP metadata describing how to display the still image file and video file contents.” So instead of Apple's two-file pair, a Motion Photo is usually a single file on disk: ordinary-looking still-image bytes, followed immediately by the raw bytes of an MP4 clip, with XMP metadata inside the still recording the byte offset where the video half begins. Opened by something that only understands JPEGs, it is simply a larger-than-expected JPEG; the video is sitting there, appended, waiting for software that knows to look at the right offset.

Why this editor only ever reaches the still

This editor's file picker and drop zone both accept image types only — the input element is set to accept="image/*", and the drop handler separately checks file.type.startsWith('image/') before doing anything with a dropped file. A Live Photo's MOV half has a video MIME type, so it gets rejected outright by both of those checks before it could ever reach the canvas; that isn't a bug, it's simply the wrong half of the pair for an image tool. A Motion Photo's single combined file does get accepted, because its MIME type still reads as image/jpeg or image/heic, but intake from there is FileReader.readAsDataURL() into a new Image() object, drawn with ctx.drawImage(): the browser's native image decoder reads only as much of the file as it needs to build a bitmap and stops. Nothing anywhere in this editor's source parses XMP metadata, looks for a byte offset, or reads a single byte past where the still image data ends. The appended video never becomes pixels on the canvas, never gets a redaction box drawn anywhere near it, and is completely untouched by anything done in the toolbar, no matter how carefully the still is covered.

What actually falls through the gap

The first problem is a time window, not a pixel region. Apple's own description of what a Live Photo captures — additional frames before and after the shutter press, plus audio — means the one frame you review and redact is a cross-section of a roughly three-second capture, not the whole thing. A sensitive value carefully covered in that one frame might have been in a different position, a different angle, or simply not yet covered a half-second earlier or later in the same capture. If anyone ever gets hold of the original Live Photo or Motion Photo rather than the specific redacted file you exported, your one chosen frame says nothing at all about what's visible across the rest of that window.

The second problem is sound. If anything was said aloud during that capture window — a number read off, a name spoken, a value confirmed verbally — none of this editor's three redaction modes can touch it, because the tool has no audio-handling code of any kind. This is the same gap covered elsewhere on this site for ordinary video recordings: a blurred region and a spoken detail are independent channels, and covering one says nothing about the other.

The third problem is which file actually gets sent. When someone shares “the photo” straight out of their Photos or Gallery app, rather than specifically the redacted file downloaded from an editor like this one, many of those share flows default to sending the live or motion version as a bundle unless a plain-photo option is explicitly chosen. Exact behavior varies by app, OS version, and settings, so check your own device rather than assuming either way — but the practical risk is the same regardless of the specifics: the file that actually leaves your hands can be different from the file you believe you already fixed.

What this editor can't do about it, and what actually fixes it

This tool's entire design is a flat raster editor for one still frame: no video timeline, no audio track, no container or zip handling, no XMP parsing — the same minimalist approach that also means it has no crop, resize, or rotate tool anywhere on this site. That's not a gap to patch here; it's a boundary worth knowing about so the actual fix happens upstream of the editor instead of being assumed to happen inside it.

Turn off Live Photo or Motion Photo capture before taking a picture you expect to need to redact and share, if your camera app offers that toggle, usually near the shutter button. If the capture already exists, convert it to a plain still before doing anything else: iOS offers an explicit per-photo “Live” toggle (or a Live option inside the Effects menu) to turn off, and most Android gallery apps that support Motion Photo offer an equivalent “save as photo” action. Confirm the live or motion indicator badge is actually gone on the result, rather than assuming it is. Only load that resulting plain still into this, or any still-image, redaction tool, and only share the exact file exported from it, rather than reopening the original from a camera roll or gallery and sharing that instead.

Checking what you're about to send

Look for the indicator before touching anything: iOS marks a Live Photo thumbnail with a small badge of concentric rings in its corner, and most Android gallery apps that support Motion Photo show their own small badge or label, with wording that varies by app, so check yours specifically. If unsure, press and hold the thumbnail; if it plays a brief moment of motion, with or without sound, before being released, it is not a single frame. After converting to a plain still, re-check that the badge is actually gone, and glance at the exported file's size; a Motion Photo properly converted to a true plain JPEG should no longer carry an appended-video flag. Finally, treat the camera-roll original and the file actually attached to a message as two different things that happen to look identical in a thumbnail, and confirm it's the second one being sent.

Common mistakes and misconceptions

“It's just a photo, redaction tools redact photos.” Not quite — this editor only ever reaches the one frame a browser's image decoder renders onto the canvas. It has never been shown, and structurally cannot reach, the companion video or audio half of a Live Photo or Motion Photo.

“If I export a redacted PNG, I've handled the whole file.” Handled for the file actually exported, and only that file. The original Live Photo or Motion Photo sitting in a camera roll or gallery is unaffected and keeps its video and audio exactly as captured, unless separately converted or deleted there.

“Sharing the photo from my phone is the same as sharing what I just redacted.” Not automatically. Depending on the app and its settings, the default share action for a Live Photo or Motion Photo can bundle, or default to, the original live asset rather than a plain still, so the file that actually goes out can differ from the file that was actually redacted.

“The video component is probably just a few duplicate frames, nothing new.” It's an independently captured clip spanning roughly three seconds, usually with audio, under both formats described here — not a handful of near-duplicate stills. Audio especially carries information that no still-frame redaction can ever reach, regardless of how carefully boxes are drawn on the one frame that was reviewed.

The Still You Redacted May Not Be the Whole File

A Live Photo pairs a still image with a separate QuickTime video, usually shared as two files or a .livp archive; a Motion Photo appends an MP4 directly after a still image's bytes inside one file, located through an XMP offset. Either way, this editor's file intake — an image-only file picker and a FileReader-to-canvas pipeline that stops reading once a bitmap is built — never loads the video half, so no redaction mode here can ever reach it.

That gap matters because the video half typically covers a few seconds around the shutter press, often with audio, meaning the single frame actually reviewed and covered is not necessarily representative of everything captured in that window. It also matters because many apps default to sharing the live or motion version of a photo rather than a plain still, so the file that actually gets sent can differ from the file that was actually redacted.

The fix sits upstream of this editor: turn off live or motion capture before taking a picture that may need redacting, or explicitly convert an existing one to a plain still and confirm the live badge is gone, before loading it into any still-image tool, this one included.

Frequently asked questions

Does downloading a redacted PNG from this editor get rid of a Live Photo's video component?

Only for the file you just downloaded. The export is a fresh, flat PNG built from canvas.toDataURL(), containing only the pixels of the one frame you redacted, because that single frame is the only thing this editor ever loaded onto the canvas in the first place. That says nothing about the original Live Photo or Motion Photo still sitting in your camera roll or gallery, which keeps its video and audio exactly as recorded unless you separately convert or delete it there.

If I share the original Live Photo through Messages or AirDrop instead of my downloaded redacted PNG, does the recipient get the unredacted video too?

Possibly, and it depends on the app and the specific share option you pick, so check your own device rather than assuming either way. Many share flows for a Live Photo or Motion Photo default to sending the live or motion version as a bundle unless you explicitly choose a plain-photo option, which means the file that actually goes out can be different from the file you believe you already redacted.

How can I tell if a photo is a Live Photo or Motion Photo before I touch it?

iOS marks a Live Photo thumbnail with a small badge of concentric rings in the corner of the image, and most Android gallery apps that support Motion Photo show their own small badge or label, though the exact wording and icon vary by app and OS version. If you're unsure, press and hold the thumbnail; if it plays a brief moment of motion, with or without sound, before you let go, it is not a single still frame.

Can this editor open a Live Photo's MOV file or extract a Motion Photo's hidden video to check it?

No. The file picker and drop zone only accept image file types, so the separate MOV half of a Live Photo is rejected outright before it ever reaches the canvas. A Motion Photo's appended video sits inside a file whose MIME type still reads as an image, so the file itself is accepted, but the editor's FileReader-to-Image-to-canvas pipeline only decodes as much of the file as a native image decoder needs to build a bitmap; there is no code anywhere in this editor that parses XMP metadata, looks for a byte offset, or reads anything past the point the image decoder stops, so the appended video is never loaded, never shown, and never reflected in anything exported.