How to Package a Family Photo Archive with BagIt
By ImgHeal · Updated
BagIt packages files with manifests so a recipient can check whether the expected contents arrived intact. It is useful when a family archive or receiving institution wants a verifiable handoff. It does not improve a photograph, prove a caption, or replace a second backup.
Explore this topic: Organize a photo archive

When is BagIt worth using?
Ask the receiving archive about its requirements first. A relative who needs ten JPEGs may prefer an ordinary folder. A collection transfer with hundreds of scans, transcripts, and restored versions benefits from a documented inventory and a repeatable validation process. Agree on filenames, accepted image formats, and delivery method before building the package.
RFC 8493 describes the bag declaration, payload directory, and checksum manifests. Use a compatible packaging tool or the recipient's workflow rather than treating a folder named BagIt as a complete package. Package a copy of your collection so you can correct a rejected delivery without disturbing your working archive.
Keep sources and viewing copies identifiable
For one source item, include the untouched front and back scans, a caption file, and any accepted restoration under a stable item ID. In the example below, the JPEG is a viewing derivative of the TIFF. The README should explain that relationship and identify generated changes. Decide which private notes belong in the transfer before making its manifests.
- This is a layout example, not a ready-to-validate bag.
- Let the packaging tool create the required declaration and actual hash entries.
family-photos/
bagit.txt
manifest-sha256.txt
data/
README.txt
PH-0001/
PH-0001-front.tif
PH-0001-back.tif
PH-0001-restored.jpg
PH-0001-caption.txtValidate before and after the transfer
Freeze the delivery copy, build the bag, and run its validator. Send the complete package, including its tag files. Ask the recipient to validate the received copy rather than relying only on your result. Keep a receipt recording the package name, validation outcome, tool, date, and any reported missing or changed path. Resolve failures against your preserved source before sending a replacement.
Do not edit a caption inside a finalized package and leave the previous manifest in place. Make a revised delivery and regenerate its integrity information. A successful checksum comparison establishes agreement with the recorded bytes; it does not establish whether the original scene, identity, permission, or historical date is correct.
Where restoration fits in the handoff
Use ImgHeal on a separate digital copy when you want a restored viewing version. Compare its output with the scan, retain the source, and record the accepted filename before packaging. ImgHeal does not create or validate BagIt packages. Keep your own source archive and an independent backup after the recipient confirms delivery.
BagIt delivery checklist
- Agree on the recipient's package requirements.
- Explain each original-to-derivative relationship.
- Validate both the outgoing and received copies.
- Retain the source collection and validation receipt.
Sources and further reading
- RFC 8493: BagIt file packagingDefines package elements and the distinction between completeness and validity.
Questions about this restoration task
Is a ZIP file the same as a BagIt package?
No. ZIP is an archive container. A bag has a defined internal layout and manifests. A recipient may accept a bag inside ZIP, but they still need to unpack and validate the bag using their agreed workflow.
Continue with a related guide
Try a restoration on a copy of your photo
Keep the original scan. Upload a separate digital copy, review ImgHeal’s generated result, and decide whether it suits your needs.
Open ImgHeal