All Over Tools logo
Tool Combiner
Analyze Tools Clean Tools Compare Tools Convert Tools Data Validation Extract Tools Format Tools Generate Tools Organize Tools Transform Tools
Image Tools Video Tools Audio Tools Subtitle Tools Font Tools
Analyze Tools Clean Tools Compress Tools Convert Tools Edit Tools Extract Tools Generate Tools Merge Tools Organize Tools Redact Tools Repair Tools Split Tools
Analyze Tools Clean Tools Compare Tools Convert Tools Extract Tools Generate Tools Merge Tools Transform Tools Validate Tools
Business Calculators Construction Calculators Date And Time Calculators Education Calculators Financial Calculators Food Calculators Health Calculators Math Calculators Science Calculators Sports Calculators Statistics Calculators
Blog About Us Contact Us

PDF Document Inspector

Inspect a PDF's document and page structure locally in your browser - page count, dimensions, orientation, rotation, encryption and permission indicators, metadata, embedded fonts, bookmarks and hyperlinks - without changing a single byte.

Drop a PDF file here

or

.pdf

What the PDF Document Inspector reports

Open a .pdf file to build a read-only document and page report in the browser with pdf.js. It reports page count, dimensions, orientation, rotation, encryption and permission indicators, metadata, fonts, bookmarks, and links. It does not edit the PDF, OCR pages, or extract general content.

What gets reported per page

The page table shows each readable page’s width and height in points and inches. It does not display the raw page-box coordinates or separate MediaBox, CropBox, TrimBox, BleedBox, and ArtBox values.

It also shows orientation (Portrait, Landscape, or square after rotation) and rotation (0°, 90°, 180°, or 270°). The page-size distribution groups pages by dimensions and displays at most 12 groups.

Encryption, permissions, and metadata

The report shows whether a password is required to open the document. When available, the Permission flags panel lists declared flags for printing, copying, modifying, annotating, form filling, accessibility extraction, assembly, and high-quality printing.

It also summarizes the info dictionary: title, author, subject, keywords, creator, producer, dates, and PDF version. Additional indicators cover XMP metadata, linearization, and raw-keyword indicators for JavaScript and PDF-portfolio or collection markers.

Fonts, bookmarks, and links

The fonts panel lists fonts found on readable pages, including name, type, embedded status, and subset indication. The bookmark hierarchy panel shows the document outline as nested entries.

The stored hyperlink inventory is capped collectively at 20,000 entries, although per-page link counts may still be calculated beyond that inventory.

The hyperlink inventory includes Annotation links and Visible text URLs from the extracted text layer. Use Search links by URL or page… to filter URL or destination text and page number.

Filtering, aggregate summaries, and exporting

CSV exports successful page fields: page number, width and height in points and inches, orientation, rotation, annotation link count, and visible text link count. It omits failed-page rows and the rendered Flags column. JSON includes bookmark titles and child hierarchy, but not bookmark destinations.

Use Jump to page number… to match one page number exactly. You can also click Portrait, Landscape, Rotated, or Has links. Stat cards summarize document totals.

JSON exports selected inspection data, including file details, encryption and password indicators, page count, info, permissions, fonts, bookmarks, links, pages, and warnings. It does not include every rendered or internal field, such as raw indicators, XMP presence, truncation state, or page-size distribution.

Parser limits and non-editing behavior

Results depend on what pdf.js can parse. Keep these limits in mind:

The raw-keyword checks inspect a best-effort byte window near the end of the file, with a separate short check near the beginning for linearization. They do not scan every byte or provide definitive document-wide detection.

  • Damaged or malformed PDFs may fail to open entirely, or may open with some pages, fonts, or annotations skipped and reported as parser notes. A page that fails to load may be omitted from the rendered page table while the failure appears in parser notes.
  • Processing stops at 5,000 pages. The combined hyperlink inventory stops collecting at 20,000 entries, and font collection stops at 2,000 entries. These caps limit processing but cannot guarantee that every crafted file will remain responsive.
  • Encrypted PDFs requiring a password can't be fully inspected. The fallback reports limited raw-byte indicators; the tool does not attempt to guess or crack passwords.
  • Portfolio/collection and JavaScript indicators are best-effort raw-keyword checks in the scanned byte region. The collection check looks for /Collection, and the JavaScript check looks for /JavaScript or /JS. They are not definitive document-wide detections; embedded child files are not opened or listed, and scripts are never executed.
  • Unusual or non-standard PDFs (custom page-box setups, corrupted xref tables, PDFs generated by non-conforming writers) may show incomplete font or link data, since introspection relies on pdf.js's internal object resolution rather than a full independent parser.
  • Page dimensions use the single page value supplied by pdf.js; separate MediaBox, CropBox, TrimBox, BleedBox, and ArtBox values are not exposed or exported.

The tool does not OCR scanned pages, extract tables or images, edit metadata, remove protection, or validate PDF/UA or WCAG conformance. A permission label reflects the PDF's declared flag; it does not guarantee how another tool will enforce it.

How to inspect a PDF

  1. Drop a PDF file onto the drop zone, or click browse file.
  2. Review the stat cards, metadata, permissions, and fonts panels.
  3. Check the bookmark hierarchy and hyperlink inventory.
  4. Search or filter the page table, then choose CSV or JSON to export selected report data.

Privacy

The selected PDF is read with file.arrayBuffer() and passed to pdf.js in the browser. The local implementation contains no upload request for the PDF, so the file is not uploaded or sent to a server for parsing. pdf.js and its worker load from cdnjs URLs.

Frequently asked questions

Does this tool edit or modify my PDF?

No. It only reads document and page structure to build a report - it never writes metadata, removes protection, rewrites pages, or saves any changes back to the file.

Does it OCR pages or extract tables and images?

No. This is a structural inspector, not a content-extraction tool. It reads the existing text layer only to find visible URLs; it does not OCR scanned pages, extract tables, or pull out images. Use a dedicated OCR or table-extraction tool for that.

Can this tool remove PDF password protection or restrictions?

No. It only reports the permission flags and encryption indicators it can read - it does not remove, bypass, or edit protection, and reporting a flag as "Allowed" is not a claim that access can't be changed by other software.

Does it upload my PDF anywhere?

No. The selected PDF is read and parsed in your browser using pdf.js; it is not uploaded or sent to a server for parsing. pdf.js and its worker are loaded from cdnjs.

Related Tools

12 views