Add Page Numbers
Insert page numbers with custom position. 100% in your browser — files never leave your device.
Select a PDF
or drop a PDF here
Your file is ready
Processed entirely in your browser — the file never left your device.
How to add page numbers
Choose position & format, download.
Select a PDF
Drop or pick a PDF. The file is read into your browser memory and the configuration grid opens — nothing was uploaded.
Configure numbering
Choose position (six corners), format (use {n} and {total}), font, size, color, starting number, whether to skip the first page, and which pages to target.
Add numbers & download
Click Add numbers & download. pdf-lib stamps each targeted page in your browser and offers the new PDF as a download — the original is untouched.
Why use Add Page Numbers on imisspdf?
Private by architecture
Legal briefs, exhibit pages, dissertations — the documents that most need numbering are also the ones least appropriate to upload. Here the PDF is processed in your browser and never leaves the tab.
Fast on big files
pdf-lib runs in WebAssembly and adds numbers at roughly thousands of pages per second. A 500-page document is done in well under a second — no upload, no queue.
Free, no signup
No daily limit, no watermark on the output, no signup. Custom formats and ranges are part of the free tool, not paywalled extras.
Common questions about Add Page Numbers
Anywhere along the top or bottom edge. Pick from six positions: top-left, top-center, top-right (a "header" row) and bottom-left, bottom-center, bottom-right (a "footer" row). Bottom-center is the academic standard and what we default to. Top-right is common for legal exhibits, bottom-right for invoices and contracts where signatures sit on the lower-left. The number is placed inside the page margin area with a small padding so it does not overlap your content.
Yes — use the Format field with placeholders. Type {n} to insert the current page number and {total} for the total page count of the PDF. Examples: {n} → "1", {n}/{total} → "1/10", Page {n} → "Page 1", Page {n} of {total} → "Page 1 of 10", - {n} - → "- 1 -". Any literal characters around the placeholders are preserved exactly. The default is just {n} for a clean, single number.
Tick the Skip first page checkbox. The first page of your PDF stays clean (no number on it), and numbering starts on page 2 as the first numbered page. By default that printed number will be "2" — if you want the cover to be page "1" and page 2 to be "2", that is automatic. If you want page 2 to show "1" instead (treating the cover as an unnumbered prologue), set Start from to 0 so the count is offset. For more complex schemes (Roman numerals on the front matter, Arabic starting at the introduction), run the tool twice with different page ranges.
No. The file is read from disk into your browser via FileReader, opened locally by pdf-lib (WebAssembly), numbered, and saved back to a Blob — all inside the tab. You can verify this in DevTools: the Network panel shows zero outbound POST requests carrying your file. There is no server step, no temp file, and nothing to delete after you close the tab. This is the same architecture used by every functional tool on imisspdf.
Three standard PDF "Base 14" fonts are offered: Helvetica (sans-serif, default), Times (serif, traditional for academic and legal documents), and Courier (monospace, useful for technical reports and code-heavy PDFs). These are the fonts that every PDF reader supports natively without embedding extra font data, which keeps file size small. Custom fonts (your corporate typeface, branded weights) are not supported here — for pixel-perfect typography matching, render the number into an image in your design tool and use Watermark PDF with image mode instead.
Yes. Use the Pages field to limit which pages get a number. Examples: leave blank or type "all" for every page, "1-10" for the first ten pages, "5,7,9" for individual pages, "1-5,10-15" for ranges combined with single pages. The numbering counter advances only across the targeted pages (so a range of 11-20 starts at "11" if Start from is 1 and you want absolute numbers, or at "1" if Start from is 1 and you want relative). The Start from field gives you full control over what number prints on the first targeted page.