# iPhone photo backup > https://iphonephotobackup.com/ A free web page that copies the iPhone camera roll over USB into a folder on this computer. It runs entirely in the browser (Chrome or Edge). Nothing is uploaded. No iCloud, no iTunes, no account. iPhone is a trademark of Apple Inc. This site is not affiliated with, endorsed by, or sponsored by Apple Inc. ## For agents You cannot complete a backup without the human. WebUSB `requestDevice` and `showDirectoryPicker` require a user gesture in the page. Do not tell the user you will click those for them unless you are driving a real browser they can see and they are ready to approve the Chrome choosers. If you are driving the page in a browser: 1. Stay on https://iphonephotobackup.com/ (HTTPS is required for WebUSB). Localhost also works. 2. Browser must be Chrome or Edge. Firefox is not enough. 3. Cross-origin isolation must be true (`window.crossOriginIsolated`). The site sends COOP/COEP. If that is false, SharedArrayBuffer is missing and backup will not start. 4. Click `#folder` (Choose folder). The human must pick a directory and grant read/write. 5. Plug in the iPhone with a USB cable. Unlock it. 6. Click `#connect` (Connect iPhone). The human must pick the iPhone in the WebUSB chooser. 7. If iOS shows Trust This Computer, the human taps Trust (and enters the passcode if asked). 8. Click `#go` (Start backup). Watch `#phase`, `#file`, `#speed`, `#eta`, `#byteslab`, `#fileslab`. 9. `#stop` requests a clean stop. Resume later; files already in the folder are skipped. 10. `#advbtn` toggles Advanced (log, UDID, USB endpoints). `#org` rebuilds albums/people from Photos.sqlite in the chosen folder. Do not USB-reset the phone. Do not kill random USB processes. Do not start a second copy from a terminal while this page owns the device. ## What it does - Speaks Apple USB mux in Zig compiled to WebAssembly, in a Web Worker, blocked on `Atomics.wait`. - Pairs with lockdownd (Trust This Computer). Pair record lives in IndexedDB `iphone-afc` / `pair` for this origin only. - Starts `com.apple.afc`, lists `/DCIM` (and related media), copies originals into `originals/YYYY/MM/DD/` under the chosen folder. - Skips files that already exist. Builds album and people folders from `Photos.sqlite` after copy. - Thumbnail strip `#recent` is a FIFO of stills decoded locally. It is not the archive. ## What it does not do - No server, no analytics, no account. - No usbmuxd, libimobiledevice, or FUSE. - No iCloud / Finder / iTunes backup format. This is a photo library copy, not an encrypted device backup. - Does not substitute thumbnails for originals. ## Pages - `/` backup UI - `/how.html` technical explanation - `/llms.txt` this file - `/robots.txt` `/sitemap.xml` ## Requirements - Chrome or Edge - HTTPS or localhost - USB cable - Unlocked iPhone, Trusted - File System Access (folder picker) ## Source GPL-3.0-or-later. Local Linux CLI also exists (`nix run . -- backup ./iphone-library`) for the same AFC copy without a browser.