Live Photo Studio
●  Processed on your device

Video to Live Photo

Turn a short video into a Live Photo pair. Everything happens in your browser—no upload, no AI.

01

Choose your video

MP4, MOV or WebM

Download sample Live Photo

03

Save as a Live Photo on iPhone

Photos needs both files, imported together, to recognize the pair.

  1. Use Safari on iPhone. Chrome and in-app browsers may not offer the same share sheet.
  2. Best: share both files at once. After conversion, tap Save to Photos. In the share sheet, choose “Save 2 Items” (存储 2 个项目). Do not choose “Save Video” or save only one file.
  3. Fallback: ZIP and Files. Download the ZIP, open Files, tap the ZIP once to unzip it, tap Select, check both the .JPG and the .MOV, then Share → Save 2 Items. Saving the two files one at a time does not pair them.
  4. Confirm it worked. Open Photos. A Live Photo shows a LIVE badge at the top left. Press and hold the photo to play the motion.
  5. If you see a still photo plus a separate 2-second video: the files arrived, but Photos did not pair them. Try the A–F samples below and tell us which ones show the LIVE badge. If the share sheet never appears, use the ZIP fallback — the page will also show an error instead of hanging silently.
04

iPhone pairing test (A–F)

Control pairs from the same 2-second clip, each with its own identifier. On iPhone Safari, share both files and choose Save 2 Items. If the share sheet does not appear, use that sample’s ZIP instead.

Sample A — previous JPEG writer

JPEG has Apple MakerNote ContentIdentifier only (no IFD0 Make/Model, no MakerNoteVersion). MOV uses the previous mebx writer (string int8 datatype, no identity transform).

ZIP JPEG MOV

Sample B — previous production pair

Same previous MOV writer as A. JPEG adds IFD0 Make “Apple”, Model “iPhone”, and MakerNoteVersion 4. This is the pair that still saved as a separate photo plus video on device.

ZIP JPEG MOV

Sample C — ExifTool movie tags

Same JPEG writer as B. The MOV is the raw H.264 clip with ContentIdentifier written by ExifTool (QuickTime Keys), without this site’s mebx still-image-time track.

ZIP JPEG MOV

Sample D — unmodified genuine iPhone pair

Not included. We did not find a complete still+video iPhone Live Photo whose license allows redistribution and that already has matching ContentIdentifiers (without personal GPS). Public files we checked are metadata-only, missing the pairing UUID on the still, generated rather than camera-original, or personally identifiable. To test the save flow itself, export one of your own Live Photos from Photos to Files, select both the still and the MOV, and choose Save 2 Items. If that pair shows a LIVE badge, the share/Files path works on your device.

Sample E — real mebx container, our frames

Our own test still and H.264/AAC frames, with a new matching identifier. The two timed-metadata tracks (LivePhotoInfo and still-image-time, including the identity still-image transform) are copied from a real iPhone Live Photo metadata template.

ZIP JPEG MOV

Sample F — updated writer (current production)

Same JPEG writer as B. The MOV writer now matches the native still-image-time sample description (int8 type 0x41 plus an identity live-photo-still-image-transform), Apple handler vendor, track flags, data handler, and movie-level Make/Model. This is also the pair offered as the sample above, and what a new conversion produces.

ZIP JPEG MOV

Privacy

Your video stays in your browser and is not uploaded to create a Live Photo. After a successful conversion, you may optionally send a thumbs-up or thumbs-down and a message of up to 500 characters. We store the timestamp, site id, page path, rating, optional message, coarse browser category, and processed count and formats (numbers and short format names only). We do not collect videos, photos, filenames, or email through the feedback form. Raw user-agent strings are not stored for feedback.

IP addresses are hashed using SHA-256 with a server-side salt and used only for rate limiting, with a maximum of 10 submissions per hour. The raw IP address is not stored in feedback records or rate limits. Feedback is kept until the operator deletes it; no automatic retention period is configured.