The library format
Winder stores your photos the way Obsidian stores notes: as plain files in a folder you own. No database, no proprietary bundle, no export button — because nothing is ever locked in.
The layout
Winder Library/
library.json ← format marker
Rome, May '26/ ← an album (folder name = album name)
album.json ← album info: id, created date, cover
WDR-260504-0001-A.jpg ← left half of scan 0001
WDR-260504-0001-A.json ← that frame's sidecar
WDR-260504-0001-B.jpg ← right half
WDR-260504-0001-B.json
.trash/ ← everything you delete lands here
Sidecars
Scanned film has no EXIF worth keeping, so Winder writes what matters to a small JSON file next to each photo:
{
"version": 1,
"id": "5f1c…",
"capturedAt": "2026-05-04T00:00:00.000",
"favorite": true,
"camera": "Pentax 17",
"lens": "HD Pentax 25mm f/3.5",
"film": "Kodak Gold 200",
"location": { "lat": 41.9028, "lng": 12.4964, "name": "Rome" },
"source": {
"originalName": "scan_0047.jpg",
"half": "left",
"splitAt": 1565,
"rotation": 0
}
}
Human-readable, diff-able, greppable. A missing or broken sidecar never hides the photo — Winder just falls back to file dates.
Syncing across devices
Point the library at any folder that syncs and every device sees the same photos:
- iCloud Drive — on iOS the Winder library is visible in the Files app; on macOS choose a folder inside iCloud Drive in Settings → Library → Change folder.
- Dropbox / Syncthing / WebDAV mounts — anything that syncs plain files syncs a Winder library.
Winder re-reads the folder tree every time the app resumes, so edits made on another device (or in a file manager) show up on their own.
Two details make syncing safe:
- Write-then-rename: sidecars are written to a temp file and renamed into place, so a sync client never uploads half a file.
.trash, not deletion: deleting an album or frame moves it into.trashinside the library. Emptying it is your call, from any file manager.
Editing outside the app
Totally fine — it's your folder:
- Rename an album folder in Finder → the album is renamed.
- Move a photo and its sidecar between album folders → it moves albums.
- Drop in loose JPEGs → they appear in that album (with default metadata).