Takeout JSON

Motion Photos vs Live Photos: How Each Is Stored

Apple Live Photos are two files, Google and Samsung Motion Photos are one. How each works on disk and what survives a move between platforms.

Both are a still photo with a couple of seconds of video around it. Apple calls it a Live Photo, Google and Samsung call it a Motion Photo. On disk they are built completely differently, and that difference decides what happens when you move them.

Apple Live Photos: two files

An iPhone saves a Live Photo as two separate files with the same name. IMG_4698.HEIC (or .JPG) is the still. IMG_4698.MOV is about three seconds of video with sound. Both carry a shared content identifier in their metadata, a random string that says "these two belong together".

Apple Photos, iCloud and the Files app treat the pair as one item because they read that identifier. Anything else sees two files. Copy them to a Windows folder and you have a photo and a short video. Copy only the HEIC and the photo is fine but no longer live.

Google Photos understands the pair on upload and shows it as one live item. When you export with Takeout, you get both files back, usually with the clip re-wrapped as .MP4, and only the still has a .json sidecar. Takeout Live Photos, the MP4 and MOV pairs covers the export mess in detail.

Google and Samsung Motion Photos: one file

A Pixel or a Samsung saves a Motion Photo as a single JPEG. The image data comes first, as in any JPEG. Then, after the end of the image, the phone appends a complete MP4 file. A JPEG viewer stops reading at the end-of-image marker and never sees the video. A gallery that knows the trick reads the metadata, finds the offset where the MP4 starts, and plays it.

The metadata is XMP inside the JPEG. Older Pixels wrote GCamera:MicroVideo with an offset. Newer ones write a Container:Directory listing the image and the video as items, and the filename often carries .MP.jpg, as in PXL_20230812_193044123.MP.jpg. Samsung started with its own trailer format and now writes the Google container format too, so a recent Samsung Motion Photo plays in Google Photos and vice versa.

The result is one file that is a normal photo everywhere and a moving one in a gallery that looks. Takeout returns it unchanged, with one sidecar.

What each platform does with the other's format

Apple Photos does not read Motion Photos. Import a Pixel .MP.jpg and you get a still. The video bytes are still in the file, taking up space, but nothing on iOS or macOS plays them.

Android galleries do not pair Live Photos. Copy a HEIC and MOV pair to a phone and the gallery shows a photo and, separately, a three-second video. Google Photos on Android is the exception: it pairs them by the content identifier if both files are present.

Google Photos, the service, handles both, which is why a mixed household's library looks fine there and falls apart on export. Immich reads both. It pairs Live Photo files by name on upload and recognises Motion Photos by their XMP. PhotoPrism does the same. Windows Explorer, Finder and every file manager show the still for a Motion Photo and two files for a Live Photo.

What survives a move

Copying survives everything. Both formats are ordinary bytes. A Motion Photo copied to a USB stick still has its video inside. A Live Photo pair copied together with the names intact still pairs up when it reaches an app that understands pairs.

Renaming breaks Live Photos unless both halves get the same new name. Apple Photos and Immich match on the base name, so 2019-07-14-1105.heic next to IMG_4698.mp4 is two items. Motion Photos do not care about their name, though Pixel galleries look for the .MP marker.

Editing or re-saving kills a Motion Photo. Any program that rewrites the JPEG, including crop, rotate, resize, "optimise", or convert to HEIC, writes a new image and drops the bytes after the end marker. The still survives and the video is gone. exiftool is the exception; it rewrites the metadata block and preserves the trailer, but only if you do not strip unknown data. Live Photo stills can be edited freely because the video is a separate file.

Converting HEIC to JPG is safe for a Live Photo as long as the MOV stays beside it with the same name. It is fatal for a Motion Photo unless the converter knows to carry the trailer across, and almost none do.

Stripping metadata for privacy removes the XMP that points to the video. The MP4 bytes remain in the file but no gallery can find them. The file is now a large still.

Choosing a format when you migrate

If the photos are going to Apple Photos, keep pairs. It is the only format Apple plays.

If they are going to an Android phone or Google Photos, either works, but a Motion Photo is one file, which is easier to manage in a folder and cannot lose its other half.

If they are going to a plain folder, a NAS or a TV, decide whether you will ever watch the clips. Many people do not, and the clips add 30 to 50 percent to a library's size. Photo only is a legitimate choice. Keep the original export if you might want them later.

The app

Takeout JSON Metadata Fixer recognises both formats in a Takeout export or any folder and offers three ways to handle Live Photo pairs.

Keep the pair, the default, gives the still and the clip the same new name and folder, and the clip inherits the still's date and GPS from the sidecar, so Apple Photos and Immich pair them on import. Photo only drops the clips. Merge into one Motion Photo embeds the clip in the JPEG in the Google container format, so it plays on Android and in Google Photos and shows as a still elsewhere.

Existing Motion Photos pass through with their trailer intact, and their date and GPS are written into the EXIF like any other JPEG. Runs on macOS, Windows and Linux, offline. Free for 500 photos, $9.99 once for unlimited.

Frequently asked questions

How can I tell if a JPEG is a Motion Photo?

The size is the giveaway: a 12 MP photo at 8 MB instead of 3 MB usually has a video inside. exiftool -MotionPhoto -MicroVideo file.jpg prints a value if the XMP is there. Pixel filenames with .MP in them are Motion Photos.

Can I extract the video from a Motion Photo?

Yes. The MP4 starts at an offset given in the XMP, and exiftool or a short script can cut it out into a standalone .mp4. It is fiddly by hand. The app does not do this; it keeps, drops or merges.

Why is my Live Photo clip an MP4 in Takeout when the iPhone made a MOV?

Google re-wraps most clips to MP4 on the way out. The video inside is the same. Apple Photos accepts either as the clip half of a pair, as long as the names match.