Edit PDF Tags

Move, create and edit the accessibility tag tree

1Choose file2Settings3Process4Save

Choose a PDF and its contents will be analyzed and shown here.

Files are processed only in this browser. Nothing is uploaded to a server.

Move, add and fix the screen-reader structure tags (/StructTreeRoot) in a tree view

Continue in another tool
Task settings

Edit the document's accessibility tag tree (/StructTreeRoot) in the tree view below. Change tag names and alternate text, reorder with ↑↓, add a child node with +, and delete a node (with its subtree) with ✕. Renaming a tag to Artifact takes that node out of the tree and marks the content it pointed to as an artifact (/Artifact) in the content stream, so screen readers skip it.

Remove the password from an encrypted PDF first. Processing focuses on page content, so bookmarks, attachments, forms and signatures may not be preserved. Keep the original and check the result.

About Edit PDF Tags

The structure tree (/StructTreeRoot) of a tagged PDF decides what a screen reader reads and in what order. When auto-tagging turned the cover title into a paragraph or hung a table caption in the wrong section, this tool lets you fix the tree itself.

Select a node to change its tag name or alternate text (/Alt), move it up or down or under another parent, create new nodes, or delete a node with its subtree. The text and images drawn on the page don't change; only renaming a tag to Artifact changes how its content is marked, to decoration.

The tree and the page are linked only by MCIDs

A structure element points at real text through MCID numbers attached to marked-content sequences (BDC … EMC) in the content stream. The count shown beside each node is how many such links it carries. Moving a node takes its links with it, so a title retagged as H1 still points at the same glyphs.

The tool does not check whether a move still makes sense. Drag a page-3 paragraph under the page-1 heading and a screen reader, following tree order, will read the page-3 sentence right after that heading. Only move linked nodes to positions consistent with where their content sits. Deleting a node also clears the ParentTree slots that pointed at it, but its content is left untagged, which checkers report as "content not tagged".

"Artifact" is not a tag name

In the PDF specification, decorative content is marked as /Artifact in the content stream; it is not an element of the structure tree. So when you rename a node to Artifact, this tool does not create an element called Artifact. It takes the node (and its subtree) out of the structure tree and rewrites the marked content the node pointed to by MCID (such as /P <</MCID 3>> BDC) as /Artifact BMC, clearing the node's ParentTree slots as well. Decorative images, running headers and page numbers are then skipped by screen readers, and checkers count them as artifacts rather than untagged content. Content inside Form XObjects (MCR /Stm) can't be rewritten, so check such nodes with the accessibility checker afterwards.

Structures you will fix most often

Avoid skipping heading levels: an H3 straight after an H1 looks like a broken hierarchy in a screen reader's headings list. Tables need TR inside Table and TH or TD inside TR for row and column headers to be announced. If TD cells sit directly under Table, create a TR node and move them into it.

Lists work the same way: LI inside L lets a screen reader say "list, 3 items, 1 of 3". Put a Caption as a child of, or directly next to, the Table or Figure it describes.

Worked examples

A report title read as body text

Input
Document > P (1 link) "Annual Report 2025" > P (3 links) …
Output
Document > H1 (1 link) "Annual Report 2025" > P (3 links) …

Only the tag name changed, so the single MCID link is intact, and the title now shows up in the screen reader's headings list.

How to use it

  1. Open the PDF; the tag tree appears as an indented outline.
  2. Select nodes to rename, edit alt text, move, add or delete.
  3. Apply, save, and re-run the PDF accessibility checker.

Frequently asked questions

Can I tag an untagged document from scratch?

You can create nodes in an empty tree, but they will not be linked to any page content. For properly linked tags, re-export a tagged PDF from the source application.

Which tag names should I use?

Use the standard structure types (Document, Sect, H1–H6, P, L, LI, Table, TR, TH, TD, Figure, Caption and so on). The field is free text, so typos are saved as-is.

Does this guarantee PDF/UA conformance?

No. Only the structure tree is edited; consistency with the marked content is not checked. Verify the result with a checker such as PAC.

Sources

Last reviewed:

Privacy and how data is handled