Local Merkle Proof Workbench

Build an ordered SHA-256 Merkle tree from local files and verify an inclusion proof against an explicitly supplied root.

Files stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Build or verify proof controls

Enter the 64-character lowercase root you obtained separately. A root read only from the proof file is not an independent reference.

Building reads the selected files and returns a root, a portable tree and a proof for the first file. Verifying checks a proof against the exact file and root you supply.

Drop your files here

or choose them from your device

Up to 128 files, 10 MB each and 20 MB in total. Order matters: the list order is the tree order, so keep it fixed across builds.

    Drop your file here

    or choose one from your device

    A proof JSON saved by the build step, holding the tree size, the selected index, the sibling path and the root.

      Drop your file here

      or choose one from your device

      The exact local file whose inclusion the proof claims to show. Its bytes are hashed in the same way the tree hashed them.

        Processed in your browser. Your inputs stay on this device.

        Showing a generated example. Generate again for a new result.

        How to use Local Merkle Proof Workbench

        1. Supply the expected sha-256 root (verifying) and what to do using the supported input described beside the controls.
        2. Review the selected options and the declared scope, then run the local merkle proof workbench.
        3. Read the result and unresolved findings before downloading or sharing a report. The original input is not changed.

        Example: Local Merkle Proof Workbench

        Build an ordered SHA-256 Merkle tree from exact local files and verify an inclusion proof against an explicitly supplied root.. This example uses synthetic public data and the named local fixture files.

        You add
        What to do: build Ordered local files (building): first.txt contains "first"; second.txt contains "second"; third.txt contains "third"
        You get
        Built an RFC 6962 Merkle root over 3 files. Root c3651e541714c53d... 0 | first.txt | a1af030231ca2fd20ecf30c5294baf8f69321d09bb16ac53885ccd17a385280d 1 | second.txt | a94dd4d3c2c6d2548ca4e560d72727bab5d795500191f5b85579130dd3b14603 2 | third.txt | 656d3e8f544238cdf6e32d640f51ba0914959b14edd7a52d0b8b99ab4c8ac6c6

        Options

        Ordered files
        File order is part of the tree. Keep the order with the saved tree and proof; changing a position changes what the proof describes.
        Root and proof
        For verification, supply the intended root separately and the exact file. Tree size, index and sibling order must agree with the proof convention.

        Supported inputs and limits

        The page uses the stated RFC 6962 SHA-256 tree convention. It is not a certificate-transparency client, blockchain proof, signature service or timestamp authority.

        Where your input is processed

        This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

        A proof relates bytes to a particular root

        The domain-separated tree hashes leaves and parent nodes differently and preserves file order. A successful inclusion check connects the selected file bytes and position to the supplied tree root. You still need an independent reason to trust that root; the proof does not identify a publisher or supply a trusted timestamp.

        Questions about Local Merkle Proof Workbench

        What does inclusion prove?

        That the exact selected bytes occupy the claimed position in the tree described by the supplied root.

        Is a tree root trusted automatically?

        No. Obtain or confirm it through an independent trusted channel.

        Can files be reordered?

        Order affects the tree. Rebuild the tree and proofs when the intended order changes.

        Project manager: Tony Hines · Content updated 4 October 2026 · Report a problem