ImgHeal

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

AI-generated editorial illustration

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.txt

Validate 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

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