PDF Table of Contents Generator
Upload a long PDF without navigation and this tool will detect likely headings by font size, then add a table-of-contents page at the start listing each one with its page number.
Heuristic heading detection: it looks for short lines rendered notably larger than the surrounding body text, and can occasionally miss a real heading or flag something that isn't one, especially on unusually-formatted documents. Review the list below before generating.
常见问题
Does this add real, clickable PDF bookmarks?
No. The PDF library this tool runs on doesn't support creating real PDF outlines/bookmarks (the sidebar navigation tree some PDF viewers show). Instead, it prepends one or more plain table-of-contents pages listing each detected heading with the page number it lands on in the final document - a real, readable table of contents you flip to and read, just not a clickable sidebar entry.
How does it detect headings?
It's heuristic: using the font-size information pdf.js reports for each line of text, it looks for short, standalone lines rendered notably larger than the document's dominant body text size. This works well on typically-formatted reports, papers and manuals, but can miss a real heading or flag something that isn't one, especially on unusually-formatted documents - always review the detected list and uncheck anything wrong before generating.
What if no headings are detected?
The generated table-of-contents page will say so plainly instead of listing anything - this can happen if the document doesn't use a visibly larger font size for its headings, or is formatted in an unusual way this heuristic doesn't recognize.
Can I remove a false-positive heading before generating?
Yes, uncheck any entry in the reviewed list that isn't actually a heading - only checked entries are included in the generated table of contents.
Is my PDF uploaded anywhere?
No, this runs entirely in your browser using pdf.js and pdf-lib. Nothing is sent to a server.