Timestamp a document online. The file stays on your device.
Drop a file and your browser works out its SHA-256 fingerprint; the file itself never leaves your device. Only the fingerprint is sent to be timestamped with OpenTimestamps. Download the proof file. Once the anchor is confirmed in a Bitcoin block, it is a record that this exact file existed by that block’s time. Free with a KuduDoc Personal account.
Timestamp a file
Working out the fingerprint… 100%
On your device. Nothing is uploaded.
SHA-256 fingerprint
86e8fe74dd8eefa564f9f3289ffa0c41e21109190a858b08ef9e4d1d680ec6bdCopy
Sending the fingerprint to be timestamped…
Submitted to the OpenTimestamps calendars at 14:32 on 27 September 2026, not yet confirmed in a Bitcoin block. A pending timestamp anchor is not a confirmed one.
Your proof file KarooFresh_logo_final_v3.pdf.ots has downloaded. Keep it with the file, and drop it on the timestamp tool again later to collect the confirmation.
Waiting in this browser 2
- ZIP Move-in photos 12 Oak Ave.zipSubmitted 09:12 today Anchor pending
- PDF Quote Q-0412 Berg Joinery.pdfBlock 967,958 · 26 Sep 2026, 16:05 SAST Confirmed Download the complete proof file
The downloaded proof file is the one that counts.Forget these
Check a file against its proof file
Drop the file and its .ots proof file together. Only the proof file is sent, never the file.
- Fingerprint
- Fingerprint matches the proof
- Anchor
- Confirmed Confirmed in Bitcoin block 967,958, block time 26 September 2026, 16:05 SAST. A record that this exact file existed by then.
- Block source
- Block header read from blockstream.info.
Compare two files
Two files, or a file and a fingerprint you were given. Worked out on your device; nothing is sent.
a3710b66863464653983f7a1cb95bcfe7e092d1d97149d33854bb1130c209fe2
Fingerprint you were given
A3710B66863464653983F7A1CB95BCFE7E092D1D97149D33854BB1130C209FE2
The two are byte-for-byte the same.
Upper or lower case, the characters are the same.
What you get
-
The fingerprint.
64 characters worked out from every byte of the file. Change one byte and you get a completely different fingerprint.
-
The proof file.
your-file.pdf.ots, in the standard OpenTimestamps format. Keep it beside the file. -
The time.
Pending at first. Once confirmed, the Bitcoin block and its time: from then on, a record that this exact file existed by that time.
How it works
-
On your device
Your browser works out the file’s SHA-256 fingerprint, the method published by the US National Institute of Standards and Technology in FIPS 180-4. The file is not uploaded.
-
A random value, then the calendars
KuduDoc adds a random value to the fingerprint, hashes it again and sends the result to the public OpenTimestamps calendars. They never see your file or its fingerprint.
-
A Bitcoin block fixes the time
The calendars gather many of these into one value and commit it to the Bitcoin blockchain in a transaction. When that transaction is mined into a block, the block fixes the time.
-
The steps, in the proof file
The complete proof file holds the short list of steps from your fingerprint to that block, so anyone with the file and the proof file can repeat them. The time shown is the block’s own time, written into it when it was mined, not a clock KuduDoc controls.
Pending, then confirmed
A timestamp starts pending. A pending timestamp anchor is not a confirmed one.
| What the tool shows | What it means | What it does not tell you |
|---|---|---|
| Anchor pending | The calendars accepted a value made from the fingerprint and promised to commit it to Bitcoin. It is not in a block yet. | A time you can rely on without the calendars: until it is confirmed, the record rests on them. |
| Confirmed | The proof file links this file’s fingerprint to that Bitcoin block, so the file existed by the block’s time. | When the file was first made, who made it, or whether what it says is true. |
| Fingerprint does not match the proof | The proof file is for different bytes. | Whether anyone changed it on purpose: a re-save changes the bytes too. |
| Could not be checked | The calendars or the block source didn’t answer. | Anything about the file: try again later. |
A sealed document reports its anchor the same way, each state on its own line: see how a KuduDoc record shows each timestamp state.
What a timestamp records, and what it does not
- It records that this exact file existed by the anchor time. The file may be older: a timestamp is not a creation date.
- It names no one. Anyone holding a copy can timestamp it too, so it says nothing about who made the file or who owns it.
- It says nothing about whether the document is true. Only the organisation that issued a document can confirm it: see how to tell if a document is fake.
- Change one byte and the proof file no longer matches. Keep the exact file. If you want to know whether a PDF you were sent was changed, see how to check if a PDF has been edited.
Timestamp or seal?
Both work in your KuduDoc account, on every plan.
| Timestamp a file | Seal a document | |
|---|---|---|
| Works on | Any file | A finished PDF |
| Where the file goes | Stays on your device; only the fingerprint is sent | Uploaded to your KuduDoc Library and sealed there |
| What it records | That this exact file existed by the anchor time | A SHA-256 fingerprint, a certification signature, a timestamp anchor, and a seal id and check link on the PDF |
| How someone checks a copy | With the file and its proof file, in a KuduDoc account or with the open-source OpenTimestamps client | Free on the public seal check, with no account: just the PDF |
| What the result says | Anchor pending, or confirmed in a Bitcoin block, with the block’s time | Unchanged since sealing, with the anchor state on its own line |
A match means unchanged since sealing — a fact about the file’s bytes, not about what the document says, who signed it or who owns anything. Timestamp a file when you want a dated record of your own copy. Seal a document when other people need to check the copy you send them: see what a KuduDoc seal records. Personal is free, with no card and no expiry date.
When people timestamp a file
Move-in photos and the inspection report, on the day. (Or seal the move-in inspection on the day.)
A logo, a design or a manuscript before it goes to a client or a publisher.
A quote or proposal on the day you send it.
A letter, notice or scan exactly as you received it.
A dataset or software release, with its fingerprint published beside it.
Work out a file’s SHA-256 hash yourself
Every computer can work out the SHA-256 hash of a PDF, or of any file, without KuduDoc. Developers call it a hash or a checksum; KuduDoc calls it the fingerprint. Compare your result with the tool’s: the characters are the same, whether shown in capitals or not.
| Computer | Command |
|---|---|
| Windows, Command Prompt | certutil -hashfile "lease.pdf" SHA256 |
| Windows, PowerShell | Get-FileHash .\lease.pdf |
| macOS, Terminal | shasum -a 256 lease.pdf |
| Linux | sha256sum lease.pdf |
To check a proof file without KuduDoc, use the open-source OpenTimestamps client with a Bitcoin node you run or trust. When the timestamp tool checks a proof file, it reads the block from a public source and names that source on the result.
Questions people ask
Is my file uploaded?
No. Your browser works out the file’s SHA-256 fingerprint, and only that fingerprint is sent to KuduDoc to be timestamped. KuduDoc adds a random value before passing it on, so the public OpenTimestamps calendars see neither your file nor its fingerprint. The fingerprint, the time, your account and your network address are logged.
Can a timestamp prove a document existed on a date?
It gives you a record that this exact file existed by a certain time. Once the anchor is confirmed in a Bitcoin block, the proof file links the file’s fingerprint to that block, so the file existed by the block’s time. It does not show when the file was first made, who made it or whether what it says is true.
How long until the timestamp is confirmed?
Usually a few hours: the OpenTimestamps calendars gather many submissions into one value and commit it to Bitcoin, and that has to be mined into a block. Until then the anchor is pending, and the tool says so. A pending timestamp anchor is not a confirmed one. Drop the proof file on the timestamp tool again later to collect the confirmation.
Does a timestamp show who made the file, or that it is true?
No. A timestamp is a record that these exact bytes existed by a certain time. It names no person and says nothing about what the document says. Anyone holding a copy of a file can timestamp it too.
What if I change the file after timestamping it?
Then it is a new file with a new fingerprint, and the proof file no longer matches it. Re-saving, compressing, printing to PDF or scanning makes a new file too. Keep the exact file you timestamped beside its proof file, and timestamp each new version.
Can I check a timestamp without KuduDoc?
Yes. The proof file is in the standard OpenTimestamps format, so the open-source OpenTimestamps client can collect the confirmation and check it against a Bitcoin node you run or trust. You can work out the fingerprint yourself with your computer’s own tools, as this page shows.
Is a timestamp the same as a KuduDoc seal?
No. A timestamp covers any file, and only its fingerprint leaves your device. A seal is made on a finished PDF in your KuduDoc Library: it adds a certification signature, a seal id and a timestamp anchor, and anyone can check a copy free on the public seal check. A match means unchanged since sealing — a fact about the file’s bytes, not about what the document says, who signed it or who owns anything.
Does a timestamp count as evidence?
It can be part of the evidence. A timestamp is part of the record of when the file was sealed. What a court makes of it is for that court. If it matters in a dispute, get legal advice.
Timestamp · Check a proof · Compare
Make the record before anyone asks.
Timestamp a file now: free on every plan, and the file stays with you.