How to Add Page Numbers to a PDF Without Uploading
Last updated: 11 June 2026
You can add page numbers to every page of a PDF without uploading it using brevio PDF Page Numbers — numbering is applied via pdf-lib running in your browser. Your document never leaves your device.
Page numbers are essential for navigating multi-page documents: legal filings, reports, contracts, and manuals. Most tools that add page numbers require uploading — brevio does it locally.
How to Add Page Numbers to a PDF Without Uploading
- Open brevio PDF Page Numbers. No account required.
- Select your PDF. The file loads into browser memory — nothing is transmitted.
- Choose position. Select bottom-center, bottom-right, or top-right. Bottom-center is standard for most documents; bottom-right is common for legal filings.
- Choose format. Plain number (1, 2, 3), "Page X of Y", or "- X -" depending on your document style.
- Apply. pdf-lib writes a number to the content stream of each page at the specified position. Numbers start at 1 by default.
- Download the numbered PDF.
How to Verify No Upload Occurs
Open DevTools (F12 or ⌘⌥I) → Network tab. Load your PDF and trigger numbering. You should see zero outbound requests carrying file data — only initial static asset loads. No POST with file content means your document stayed local.
How PDF Page Numbering Works
Each PDF page has a content stream of drawing commands. Adding a page number appends a text-drawing instruction to each page's content stream at a fixed coordinate — typically 30pt from the bottom and centered horizontally. The font and size are embedded as a reference in each page's resource dictionary. pdf-lib handles this without modifying the rest of the page content.
Starting Number and Offset
If your PDF is a chapter of a larger document that starts at page 47, you may want the first page to show "47" not "1". Some tools support a start offset — check your tool's options. For documents that begin with a cover page or table of contents, you may want numbering to skip the first 1–2 pages (Roman numerals for front matter are a common convention).
Page Number Placement Guidelines
- Bottom-center: Standard for reports, academic papers, and general documents.
- Bottom-right: Common in legal documents and court filings.
- Top-right or top-center: Used in some academic and corporate style guides, especially when bottom space has footers.
- Avoid placing numbers over existing content. If your PDF already has a footer, use top placement.
PDF Page Number Tool Comparison
| Tool | Upload? | Free? | Position Options | Works Offline? |
|---|---|---|---|---|
| brevio PDF Page Numbers | No — in-browser | Yes | Bottom-center, bottom-right, top-right | Yes (once loaded) |
| iLovePDF Page Numbers | Yes — server upload | Freemium | Multiple positions | No |
| Smallpdf Page Numbers | Yes — server upload | Freemium (2/day) | Limited | No |
| Adobe Acrobat Pro | No — local app | Paid | Full control | Yes |
| pdftk (CLI) | No — local | Free | Scriptable | Yes |
Related guides: How to Watermark a PDF Without Uploading · How to Merge PDFs Without Uploading
Frequently Asked Questions
- Can I start page numbering from a number other than 1?
- Check the tool's start offset option. If you're numbering a chapter that begins at page 47 in a larger document, set the start number to 47. This is useful for combining numbered sections after the fact.
- What if my PDF already has a footer?
- If the existing footer occupies the bottom margin, choose top-right placement to avoid overlapping content. Preview the output to check placement before distributing.
- Will the page numbers overlap with the existing content?
- Numbers are placed in the margin area — typically 20–30pt from the edge. If your PDF has content very close to the edges (unusual for standard documents), there may be overlap. Most standard-margin documents are fine.
- Does adding page numbers change the PDF text or images?
- No. Page numbering adds new drawing instructions to the content stream without modifying existing page content — text, images, and formatting are unchanged.