PDF Page Numbers
Add page numbers to a PDF — pick format, position, font size, skip cover page
Drop a PDF to add page numbers to every page.
Max file size: 50MB
How to PDF Page Numbers Online
Add page numbers to a PDF — pick format, position, font size, and whether to skip the cover page.
- Drop a PDF. The tool reads the page count automatically (you'll see the total in your chosen format like '1 / 10').
- Choose format ('1', '1 / 10', 'Page 1', 'Page 1 of 10'), position (six options around the page margin), and font size.
- Optionally check 'Skip the first page' for documents with a cover page.
- Click 'Add page numbers' and download the result. The output is a PDF with page numbers baked into every page's drawing stream.
About PDF Page Numbers
Page numbers are the kind of feature that's invisible when present and infuriating when missing. A 30-page PDF without page numbers is genuinely hard to use — you can't reference 'page 17' to a colleague, you can't track your position while reading, you can't print the document and shuffle pages without losing track of the order. Adding page numbers is one of those small fixes that makes a document materially better.
This tool adds page numbers to a PDF in your browser. Drop a PDF, choose format and position, get a numbered version back. The output PDF has the page numbers baked into the page content — they show up in every viewer, on print, on screenshot, everywhere a page is rendered.
The implementation uses **pdf-lib**'s drawText to write the number into each page's content stream at the margin position you pick. The numbers become permanent page content — not annotations (which can be toggled off in viewer settings), not metadata (which doesn't show on the page). They're real text drawn on the page, rendered with Helvetica from the PDF standard font set so no fonts need to be embedded.
**Formats supported:**
- `1` — bare number, the most minimal. Good for compact documents or where the rest of the page already has lots of labels. - `1 / 10` — number with total. Tells the reader where they are AND how far they have to go. The most useful format for long documents. - `Page 1` — explicit 'Page' prefix. The most formal format; good for contracts and reports. - `Page 1 of 10` — formal with total. Belt-and-suspenders explicit; works everywhere.
**Positions supported:** bottom-center, bottom-left, bottom-right, top-center, top-left, top-right. The bottom-center is the canonical default — that's where books put page numbers, that's where most readers look first. Top placement is for documents where the bottom of the page already has content (footers, signatures, page-bottom illustrations).
**Skip-first-page option.** Cover pages don't get page numbers by convention. A report titled 'Q3 Earnings Summary' with a clean cover page should start numbering on the first body page (which becomes 'Page 1') — not on the cover ('Page 1' there would be weird). Toggle the option to skip the first page entirely. The cover stays clean; numbering starts on page 2.
**Start-at option.** For documents that are extracted from a larger collection (chapter 5 of a book, the contracts section of a deal binder), you may want to start numbering at something other than 1 to match the original collection. The start-at field handles that — if you set it to 47, the first numbered page is 'Page 47' and they count up from there.
**Performance.** Adding page numbers to a 500-page PDF takes a few seconds. The bottleneck is pdf-lib's serialization of the modified document; the per-page text drawing is trivial. The output file size grows by maybe 50 bytes per page (each page gets a small text drawing operation added to its content stream).
**Quality.** Vector text at any zoom level. The page numbers render sharply on print and on screen at any zoom. Font size 11 is the default, matching standard footer-text size; bump to 14 for documents that will be printed on letter-size paper and read at arm's length, or down to 9 for tight margin space.
**A few edge cases worth knowing:**
- **Pages of different sizes.** If your PDF has mixed page sizes (A4 then Letter then a long receipt), the page numbers go in the right relative position on each — the bottom-center is always the bottom-center of *that page*, regardless of dimensions. - **Existing page numbers.** This tool doesn't detect or remove existing page numbers. If your PDF already has numbers from the authoring tool, you'll get two sets after running this tool. For most PDFs without existing numbering, this isn't an issue. - **Empty PDFs / single-page PDFs.** A 1-page PDF with skip-first-page checked produces no numbered pages, which is correct (there's nothing to number). A 0-page PDF is rejected by pdf-lib at load. - **Rotated pages.** Pages with non-zero `/Rotate` attributes get numbers in the correct on-screen position because pdf-lib's coordinate space respects rotation.
**Privacy.** pdf-lib runs in your browser. The PDF never crosses the network. Verify in DevTools — drop a PDF, add page numbers, download, watch the network panel stay empty.
Related Tools
Frequently Asked Questions
Why don't most PDFs already have page numbers?
Because page numbers are an authoring-tool convention, not a PDF format feature. Word, Pages, LaTeX, and other authoring apps usually insert page numbers in headers or footers if the user enables them. But the user has to enable them, and many people don't. PDFs assembled from screenshots, exported from web pages, or generated by scripts often have no page numbers at all. This tool adds them after the fact.
Why would I skip the first page?
Because the first page is often a **cover page**: a title page in a report, a fax cover sheet, a contract title page. By convention, cover pages don't get page numbers — counting starts on the first body page. Toggle 'Skip the first page' for that workflow. The cover stays clean; pages 2, 3, 4 are labeled '1', '2', '3' (or '2 of N' if you prefer the original numbering scheme). For multi-page covers (table of contents, preface), the start-at field lets you offset further.
Can I use Roman numerals for front matter?
Not in this version. The tool supports four formats: bare number (`1`), number-of-total (`1 / 10`), page-N (`Page 1`), and page-N-of-total (`Page 1 of 10`). Roman numerals are common in books and academic theses for the front matter (i, ii, iii) — that's a different use case from what this tool targets (web exports, scanned receipts, assembled image-PDFs). If demand is high, Roman could be added.
Where do the page numbers actually go on the page?
Inside the page's drawing stream, just like any other text. They become part of the rendered output of every PDF viewer. They're not annotations (which can be toggled off in viewer settings); they're real content on the page. The tool places them with a 24-pt margin from the edge — far enough from the content that they don't overlap text in most documents but close enough to the edge to feel like a footer or header.
What if my PDF already has page numbers from the authoring tool?
You'll end up with two page numbers — the original from authoring plus the new ones from this tool. The tool doesn't detect or remove existing numbers. If you want clean re-numbering, you'd need to first remove the original (which requires a PDF editor that can edit page contents) and then add fresh ones with this tool. For most PDFs without existing numbers, this is a non-issue.
Does it work on encrypted PDFs?
No. Decrypt the PDF first, then number the unencrypted version.
Is the PDF uploaded to a server?
No. pdf-lib runs in your browser as JavaScript. The PDF is read, modified, and re-downloaded locally. Verify in DevTools — no network traffic during operation.