How to read the digital signature details inside a pdf
- Step 1Open the signature viewer — Load your signed PDF into the PDF Digital Signature Viewer. Parsing happens in your browser — nothing is uploaded.
- Step 2Drop the signed PDF — Select or drag the file. The tool walks the AcroForm
/Fieldsarray looking for signature fields (/FT /Sig). - Step 3Read the per-signature rows — Each signature becomes a JSON row: index, field name, signer, signing time, reason, location, contact info, and isCertified.
- Step 4Note what is missing — Blank reason/location/contact fields are normal — they are optional in the PDF spec, not an error. A signer shown as '(unparseable)' means the field was found by raw-byte scan but its dictionary could not be read.
- Step 5Run the cryptographic check — To turn the declared claims into a VALID / INVALID verdict, open the PDF Signature Verifier — it recomputes the digest and verifies the PKCS#7/CMS signature.
- Step 6Archive the record — Save the viewer rows together with the verifier's report so your audit trail shows both what the document claimed and that the claim held.
What this viewer reports per signature
Fields pulled directly from each signature dictionary in the AcroForm tree.
| Field | PDF source key | Meaning |
|---|---|---|
index | (position) | 1-based order the signature field was found in the document. |
field | /T | The signature field's name, e.g. 'Signature1'. |
signer | /Name | The name the signer declared in the signature dictionary. |
signingTime | /M | The declared signing time, normalised from D:YYYYMMDD... to YYYY-MM-DDThh:mm:ss. |
reason | /Reason | Free-text reason for signing (optional; often blank). |
location | /Location | Free-text location declared by the signer (optional). |
contactInfo | /ContactInfo | Contact string the signer supplied (optional). |
isCertified | /Reference present | True when the field carries a /Reference array (a certifying / author signature). |
Viewer vs. Verifier — what answers 'is it valid?'
This page reads claims; the sibling tool proves them cryptographically.
| Question | This viewer | PDF Signature Verifier |
|---|---|---|
| Who signed, when, why? | Yes — reads /Name, /M, /Reason, /Location | Reads signer CN from the certificate |
| Is the signature cryptographically intact? | No — not checked | Yes — digest over /ByteRange + CMS verify |
| Was the document changed after signing? | No — not checked | Yes — integrity + whole-document coverage |
| Does the cert chain to a trusted root? | No — not checked | Yes, when you supply trust-anchor PEM |
| Output | JSON rows of declared metadata | Per-signature intact / coverage / trust verdict |
File and tier limits (PDF tools)
Limits apply to the input PDF you load into the viewer.
| Tier | Max file size | Max pages | Files per run |
|---|---|---|---|
| Free | 2 MB | 50 | 1 |
| Pro | 50 MB | 500 | 5 |
| Pro Media | 500 MB | 2,000 | 50 |
| Developer | 2 GB | 10,000 | Unlimited |
| Enterprise | Unlimited | Unlimited | Unlimited |
Cookbook
Real situations and exactly what the viewer prints — and where you go next for a cryptographic verdict.
A single signed contract
One signature field with full declared metadata.
index: 1 field: "Signature1" signer: "Alice Example" signingTime: "2026-03-14T09:21:05" reason: "I approve this agreement" location: "London, UK" isCertified: false
A document with no signature at all
The tool says so plainly instead of guessing.
hasSignatures: false message: "No digital signatures detected."
A certifying (author) signature
The field carries a /Reference array, so isCertified is true.
index: 1 field: "AuthorSig" signer: "Acme Compliance" signingTime: "2026-01-02T11:00:00" isCertified: true ← /Reference present
Reading claims, then verifying them
The viewer shows what the signer declared; the verifier confirms the bytes back it up.
Step 1 (this viewer): signer "Alice Example", signed 2026-03-14
Step 2 (verifier): intact: true, coversWholeDoc: true
→ claim confirmed, document untamperedA blank reason and location
Optional fields the signer left empty — not an error.
signer: "Bob Reviewer" signingTime: "2026-02-10T16:45:00" reason: "" location: "" contactInfo: ""
Edge cases and what actually happens
PDF has no digital signature
By designThe viewer reports hasSignatures: false and 'No digital signatures detected.' A drawn or typed signature image from PDF Sign is a picture, not a /Sig field, and won't appear here.
You expected a VALID / INVALID verdict
By designThis is a metadata viewer — it does not recompute the digest or validate the certificate, so it never prints VALID, INVALID, or EXPIRED. Run the PDF Signature Verifier for the cryptographic verdict.
Document edited after signing
Not detected hereBecause nothing is hashed, post-signing edits are invisible to this viewer. The signer name and time will still display as declared. Use the verifier to detect tampering and appended bytes.
Signature found but dictionary unreadable
ReportedWhen the AcroForm tree is missing, the tool falls back to scanning raw bytes for /Type /Sig markers and lists each as signer '(unparseable)' with blank metadata — it confirms a signature exists but can't read its fields.
Encrypted / password-protected PDF
SupportedThe viewer loads the document with encryption ignored for parsing, so signature fields are usually still readable. If a strongly encrypted file fails to parse, unlock it first with PDF Unlock.
Multiple signatures in one file
ExpectedEvery /Sig field is listed as its own row with its own index. Reading all rows confirms how many parties signed and what each declared.
Signing time is blank
ExpectedThe /M entry is optional. A blank signingTime simply means the signer or signing software did not record one in the dictionary; the time printed here is the declared value, not a verified TSA timestamp.
File exceeds your tier's size limit
RejectedFree is capped at 2 MB / 50 pages. A larger signed PDF is rejected before parsing — upgrade or split the document first.
isCertified is true but you expected approval
InformationalisCertified only reflects the presence of a /Reference entry (a certifying signature). It does not assert the signature is valid or trusted — confirm that separately with the verifier.
Frequently asked questions
Does this tool tell me if the signature is valid?
Not on its own. It is a parse-only viewer that reads the declared metadata — signer, time, reason, location — straight from each signature dictionary. It does not recompute the digest or validate the certificate chain, so it never prints a VALID / INVALID status. For that, run the PDF Signature Verifier, which checks the /ByteRange digest, the PKCS#7/CMS signature, and (with your trust anchors) the certificate chain.
Why would I use the viewer instead of going straight to the verifier?
The viewer is the fast 'what does this document claim?' look — who signed, when, why, where, and how many signatures there are. The verifier then proves whether those claims hold cryptographically. In practice you read with the viewer and confirm with the verifier; together they form a complete record.
What does the signing time actually represent?
It is the value of the /M key in the signature dictionary, normalised from PDF date format (D:YYYYMMDD...) to ISO YYYY-MM-DDThh:mm:ss. It is the declared time, not a cryptographically verified RFC 3161 timestamp. To check whether a trusted timestamp backs that time, see the timestamp audit guide.
What does isCertified mean?
It is true when the signature field carries a /Reference array, which marks a certifying (author) signature rather than an ordinary approval signature. It indicates the field type only — it makes no claim about validity or trust.
Will it detect that a document was changed after signing?
No. Because the viewer doesn't hash anything, post-signing modifications are invisible to it. The signer and time still display as declared. Detecting tampering or appended pages is the job of the PDF Signature Verifier.
What happens if the PDF has no signature?
You get hasSignatures: false and the message 'No digital signatures detected.' A signature image drawn or typed onto a page with PDF Sign is not a /Sig field and is correctly reported as no signature.
Can it read signatures inside an encrypted PDF?
Usually yes — the document is loaded with encryption ignored purely for parsing, so signature fields remain readable. If a strongly encrypted file refuses to parse, remove protection first with PDF Unlock.
It shows signer '(unparseable)' — what's wrong?
The AcroForm field tree was missing, so the tool fell back to scanning raw bytes for /Type /Sig markers. It confirms a signature exists but couldn't read its dictionary fields, so signer and metadata come back blank or '(unparseable)'. Try the verifier, which parses the signature structure directly.
Does it check certificate revocation (OCSP/CRL)?
No — and neither does the verifier in this version. The viewer reads metadata only; the verifier checks integrity, coverage, and (with anchors) the certificate chain and validity dates, but not live revocation. For OCSP/CRL and long-term validation, use a desktop tool such as Adobe Acrobat or the open-source pyHanko.
Is my signed document uploaded anywhere?
No. Parsing runs entirely in your browser; the file never leaves your device. Only anonymous usage counters are recorded when you're signed in.
Can I export the result?
The viewer returns the per-signature rows as JSON in the result panel. Save those alongside the verifier's machine-readable report for a complete audit record.
How is this different from scrubbing or redacting a signed PDF?
This viewer only reads signature metadata. If you instead want to strip hidden metadata (author, producer, timestamps) use the PDF Metadata Scrubber; to remove sensitive content from the page itself, use the PDF PII Redactor. Note that scrubbing or redacting a signed PDF will alter its bytes and break any existing signature.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.