Home/Move an Android camera roll onto an iPhone

Move an Android camera roll onto an iPhone

Author Azalea · Last tested 2026-06-12

The official Move to iOS story runs through a Google account. A file you thought was original on the Pixel may arrive flatter, and motion photos split. If the search is move photos from Android to iPhone as originals, Azalea’s path is MediaStore → your bucket or USB → claim. JPEGs stay JPEG. Broken files stay broken. Originals never sit on an Azalea server. Bundle net.duguying.photos.

Do not enable iCloud Photos on the new iPhone before the claim. Two libraries make it unclear what you just downloaded. The lab unboxed into Azalea first.

2 Apr 2026: Pixel 8, Android 15, Google Photos backup off for three months so the two copies would not delete each other. iPhone 16, iOS 18.7. S3 Standard us-west-2, sub-user scoped to one bucket, prefix pixel8-lab/. Profile display names differed; bucket and keys matched. 11,208 stills and 406 videos, 11,614 items, 87,973,142,579 bytes (81.95 GB), 664 minutes including overnight Wi-Fi idle, useful window about seven hours, bursts to 8 MB/s. Seven host/unknown-network errors retried. One leftover broken MP4 stayed unrecoverable.

(The Chinese write-up of the same method used COS Guangzhou. Same client, different invoice.)

Steps

  1. On Android, Allow access to all. If you see You can currently access only the photos you selected, you will move a subset. Backup storage: S3 (us-west-2 in English labs) or Choose backup folder on USB with persist. Test connection. Automatic backup until Pending is 0. HyperOS: disable battery optimization; Xiaomi 14 killed NAS workers in the family case while the notification stayed up.
  2. Spot-check on the destination: open a Pixel JPEG (lab stills averaged 4.08 MB) and a 4K60 clip (video averaged 89.2 MB). If a clip already fails on the Pixel, it will fail on the iPhone. Exhibit: VID_20231102_221418.mp4 from an older Infinix copied onto the Pixel. Local player showed one second then black. Object size 2,048,512 bytes, MD5 matched the phone. Transfer was honest. Source was junk. Counted as one unrecoverable and left in the ledger so the next run would not treat it as new.
  3. iPhone: install Azalea before iCloud Photos. Allow Full Access. Backup Storage → same provider, same bucket, same region, same keys, or the same USB folder via Files picker and bookmark. Test Connection. Wrong region: signature error or 301 on first list.
  4. Claim when Historical indexes found appears. Do not Start Fresh unless you mean to ignore the Pixel library. Start Fresh treats remote keys as not backed up and can mark iPhone photos as done when they were never uploaded.
  5. Item count on the iPhone backed-up library should match. Recents stays empty until a few manual downloads. Favorites from Android will not appear as iOS Favorites; local_identifier is the wrong identity space.
  6. Keep the Pixel for 48 hours. Switch-day checklist. Then think about a reset.

USB shuttle: iOS has no volume list. Open the disk in Files, pick the folder, Check again after attach. Android wrote with mode=bridge. The May T7 run (iPhone 16 Pro + Pixel 8a, 6,412 items, 31.8 GB) proves the disk direction both ways. Mate 60 OTG yank at 61% is a reason to finish Android Pending before you unbox the iPhone, not a reason to use Move to iOS instead.

Pixel JPEG is heavier than iPhone HEIC, so an 80 GB Android roll can be fewer items than an 80 GB iPhone roll. Count items and bytes, not “how full the grid looks.” Stills averaged 4.08 MB in April; the iPhone 15 USB stills were about 3.12 MB. That mix is why 11,614 items were 81.95 GB on S3 us-west-2.

What Google’s pipe changes

Move to iOS and Google Photos export are account products. They pick a compression policy you cannot turn off. Motion photo semantics change. Azalea copies the MediaStore file. If you already let Google recompress, Azalea cannot invent the pre-Google bytes. Turn Google backup off before you care about originals, the way the Pixel sat for three months.

HEIC will appear once iPhone photos join the same library later; the Pixel side of April was JPEG-heavy. That is the phones, not a transcode. Live Photos do not exist on the Pixel source. Do not expect them.

One failure: the honest bad MP4

Hash mismatch against a hoped-for good file would have been a transfer bug. Hash match against a 2 MB black clip is a source bug. The iPhone claim opened the same failure. We did not delete it from the ledger. Failed ≠ lost for the seven network errors. Failed = lost for that one Infinix leftover. Check Failed and Retry all failed before you wipe the Pixel.

Do not pick a second S3 bucket because the display name felt nicer. Provider is read-only. Display name does not retarget.

FAQ

Can I move photos from Android to iPhone without Google?

Yes. Azalea + your S3/USB/Samba. Move to iOS is optional and is not original-faithful in the way this product is. Download: /en/download.

Why is the iPhone camera roll empty after claim?

Claim attaches the backed-up library. PhotoKit Recents is not bulk-ingested. Download on demand. That also keeps the new 128 GB iPhone alive. Optimize later only after you understand original vs Optimize.

Will Samsung/Huawei albums appear as iOS albums?

Keys list. OEM album metadata is not Apple’s album model. Expect a library grid, not a 1:1 Recreation of Gallery folders. Content match, not Moments reconstruction.

USB or bucket for a transatlantic switch?

Bucket if the disk cannot travel. USB if you refuse object storage. The lawyer T7 setup filled no keys. English bucket tests: S3 us-west-2. Feature notes: /en/features/migration, /en/features/object-storage.

What about NAS at home then claim on the iPhone?

Works if the iPhone is on the same LAN with Local Network allowed. Family numbers: DS220+ DSM 7.2.2, share photos, 15,767 items. NAS guide. Do not open SMB to the hotel.