About this tool
Free, private, browser-based. Your files never leave your device - all processing runs in JavaScript right here in your browser. No upload, no account, no watermark.
About browser-side timestamping
The Timestamp tool computes the SHA-256 fingerprint of any file you drop into the browser and packages it with a UTC ISO-8601 time stamp into a downloadable JSON receipt. Together, the file and the receipt let anyone later prove the file has not changed since the receipt was issued. This is content notarisation by hash, the same primitive Git uses to chain commits, Bitcoin uses to link blocks, and Linux distributions use to verify downloads. The computation happens entirely client-side through the Web Crypto API's crypto.subtle.digest, so no file leaves your device and the receipt is created without any network round-trip.
The receipt anchors what the file looked like, not when independently verifiable time occurred. For legally defensible time stamps (court evidence, intellectual-property dating, regulatory filings), use a Trusted Timestamping Authority (TSA) operating under IETF RFC 3161 (DigiCert, Sectigo, FreeTSA) or an EU eIDAS-qualified provider. Those services countersign your hash using their own certificate and an externally audited atomic clock, producing a token that survives the loss of the original signer's keys.
How the timestamp receipt is built
1. File dropped -> ArrayBuffer
2. Web Crypto: SHA-256 digest of bytes -> 256-bit value
3. Convert to 64-char hex string
4. Capture timestamp: new Date().toISOString() (UTC, ISO 8601)
5. Build receipt JSON, download as <filename>.timestamp.json
Receipt:
{
"file": "thesis-v9.pdf",
"size": 1842711,
"sha256": "3f59c9... (64 hex chars)",
"timestampUtc": "2026-05-28T15:08:42.317Z",
"issuer": "3Tej.com (browser-side)"
}
- SHA-256 outputs 256 bits, expressed as 64 hex characters. The same input always produces the same hash.
- ISO 8601 ensures the timestamp parses identically across languages, OSs, and time zones.
- UTC avoids ambiguity from daylight-saving shifts and regional offsets.
Worked example: stamping a draft contract
You finish a 1.8 MB draft contract and want a record that the document existed in this exact form on 2026-05-28.
- Drop the file on the drop zone. Browser reads bytes into an ArrayBuffer.
- Compute SHA-256 via Web Crypto:
3f59c9c98c... e2a1d(64 hex chars). - Capture UTC time:
2026-05-28T15:08:42.317Z. - Receipt downloaded: thesis-v9.pdf.timestamp.json.
- Archive both the original file and the receipt in your records or escrow.
Comparison: browser stamp vs RFC 3161 TSA
| Feature | This tool (browser) | RFC 3161 TSA |
|---|---|---|
| Hash algorithm | SHA-256 | SHA-256, SHA-384, SHA-512 |
| Time source | Local browser clock | Audited atomic clock |
| Independent witness | None | Authority's certificate |
| Long-term validity | Until file hash collides (never) | Until certificate expires (renewable) |
| Cost | Free | 0 to 1 USD per stamp (FreeTSA free) |
| Court admissibility | Weak (self-stamp) | Strong (third-party witness) |
| Offline use | Yes | No (requires TSA reachable) |
Common pitfalls when stamping files
- Losing the receipt. Without the JSON receipt, the original file cannot be matched. Store both files together.
- Editing the file post-stamp. Any change (even saving a PDF in a different reader) re-encodes bytes and breaks the hash.
- Trusting browser clock for legal use. A self-stamped receipt is weak evidence in court because the timestamp comes from your own device. Use RFC 3161 TSA when stakes are high.
- Stamping a draft. Each save of a Word document changes bytes. Wait until the file is final before stamping.
- Renaming the file. The filename is recorded in the receipt for human convenience but does not affect the hash. The file content is what matters.
Related calculators on 3Tej
Frequently asked questions
What does the Timestamp tool produce?
It produces a JSON receipt containing the file's SHA-256 hash (64 hex characters), filename, byte size, and UTC ISO-8601 timestamp at the moment of stamping. The receipt is downloaded to your machine. Keep both the file and the receipt; the companion Verify Timestamp tool checks that the file still matches the receipt's hash at any future date.
Is this a legally recognised timestamp?
No. The receipt records your local browser's clock time, not a notarised time anchored to an independent authority. For court-admissible time stamping, use a Trusted Timestamping Authority (TSA) under RFC 3161, such as DigiCert, Sectigo, FreeTSA, or an EU eIDAS-qualified provider. Those services countersign your hash with their own certificate and synchronised atomic clock.
How does SHA-256 give me proof of integrity?
SHA-256 is a 256-bit cryptographic hash function published by NIST in 2002. It maps any input to a 64-character hex fingerprint. Flipping a single bit anywhere in the file changes about half the output bits. No SHA-256 collisions have been found in 20+ years, so a matching hash months later is mathematical proof the file is unchanged. Bitcoin, TLS certificates, Git commits, and macOS code signing all rely on the same algorithm.
What file types can I timestamp?
Any file the browser can read into an ArrayBuffer, including PDFs, images, video, contracts, source-code archives, ZIPs, executables, and Word or Excel documents. There is no file-size limit other than your device's available RAM (typically 2 to 4 GB in browser). The tool processes the entire file locally; nothing uploads.
Why is the timestamp value in UTC rather than my local time?
UTC (Coordinated Universal Time) is the global reference for digital timestamps and avoids ambiguity from time zones and daylight-saving shifts. The receipt records UTC in ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ) so the same receipt reads consistently no matter where the verifier is. Convert to local time when displaying the receipt, but keep the canonical UTC value untouched.
Privacy and offline operation
Every operation in this tool happens client-side using your browser is built-in APIs (Canvas, Web Audio, WebAssembly). No data leaves your device. After the initial page load you can disconnect from the internet and the tool still works.
We use Google Analytics and AdSense for the page itself, but neither sees the content of the files you process.
