Private preservation-package preflight

METS Package Inspector & File Reference Audit

Open or paste a METS 1.x document, optionally select its package directory, and audit file locators, sizes, supported SHA checksums, identifiers, metadata containers, and structural-map references without uploading preserved content.

Manifest and package files

Load METS XML

No METS document selected.

No supporting files selected.

The XML limit is 5 MiB. Up to 10,000 selected files and 2 GiB total may be reconciled; each supported digest is calculated for files up to 512 MiB. Referenced files are read only when needed for size or fixity checks.

Choose XML, paste it, or load the teaching package.

METS XML, selected files, names, paths, sizes, and calculated hashes stay in this browser tab. Nothing is uploaded, fetched from a locator, modified, extracted, or sent to a repository.

What this METS inspector checks

The page parses METS XML without DTD or external-entity processing, inventories standard top-level sections, detects duplicate IDs, follows common IDREF-style attributes, and shows each fileSec file and mdRef locator. Relative package paths are matched to the directory you select, including case-sensitive name, declared SIZE, and supported checksum comparisons.

File integrity and package reconciliation

SHA-1, SHA-256, SHA-384, and SHA-512 values are recalculated with the browser's Web Crypto implementation. External HTTP or other network locations are reported but never downloaded. Unsafe absolute, empty, backslash, and parent-traversing locator paths are flagged, and both referenced-but-missing and selected-but-unreferenced files remain visible.

Structural and metadata references

FILEID pointers are resolved to file elements, while DMDID, ADMID, STRUCTID, BEGIN, END, and structural-link endpoints are checked against IDs in the same document. The report also counts div and fptr elements per structMap and checks whether each descriptive or administrative metadata section has one direct mdWrap or mdRef container.

Validation boundary

A clean report is not METS schema, profile, repository-ingest, or preservation certification. This bounded inspector does not run the official XSD, validate extension schemas or embedded metadata such as PREMIS/MODS, interpret every profile rule, resolve every URI convention, verify signatures, inspect compressed packages, identify file formats, assess semantic correctness, repair XML, or prove authenticity. Validate against the exact schema, profile, repository policy, and package specification that govern your deposit.

Frequently asked questions

Why select the package directory?

The XML alone can be audited structurally, but local files are required to confirm that relative locators exist, declared sizes match, and supported checksum values reproduce.

Does the page upload large preservation files?

No. The browser reads selected files locally and sends no package data to ToolQuill. Per-file and total limits keep the audit bounded.

Why can a valid METS document still show warnings?

Some warnings describe portability or local-package completeness rather than universal schema violations. A repository profile can legitimately permit arrangements that this general-purpose preflight cannot fully interpret.

Does this validate METS 2?

No. This page targets the established METS 1.x namespace and model. METS 2 uses a different data model and validation workflow.

Authoritative format references

Element roles and attribute meanings are based on the Library of Congress METS official documentation and METS schema documentation. Use the schema and the applicable institutional profile for authoritative validation.

Validate a BagIt package · Audit a WARC archive · Browse preservation tools