Add Page Numbers to PDF Free

Add page numbers to PDF online for free. Choose position, font, format, and starting number. Supports Roman numerals, custom text, and multi-page PDFs.

About Add Page Numbers To PDF

Add Page Numbers to PDF inserts professionally formatted page numbers into any PDF — running headers, running footers, or both — entirely in your browser using PDF-lib. You control the number format (1, i, A…), start offset (begin numbering at page 3 as "1"), font size, color, horizontal alignment (left, center, right), vertical margin, and which page range receives numbers. Unlike Word's header/footer approach, this tool modifies the raw PDF page stream, so numbers appear as real text on every page — OCR-able, copy-pasteable, and search-indexed. The tool handles multi-page PDFs up to 200 MB without sending a byte to a server. It uses PDF-lib's PDFDocument API to walk each page, compute bounding-box dimensions, and embed a PDFFont glyph string at the exact x/y coordinate derived from your alignment and margin settings. Existing content is untouched — numbers float in the margin zone below or above the body copy.

Most online tools give you "add numbers" with no configuration beyond top/bottom. This tool exposes every professional typesetting control: number format (decimal, roman, alphabetic), first-page number offset so a cover page doesn't count as page 1, custom hex color so numbers match your brand, page range so front matter can be unnumbered, and font size from 6pt to 24pt. All processing is client-side — the PDF never leaves your browser, even for a 200 MB report.

How to Use Add Page Numbers to PDF Free

  1. Step 1: Upload your PDF by dragging it onto the drop zone or clicking Browse — the page count displays instantly
  2. Step 2: Choose position (header or footer), alignment (left, center, right), and vertical margin in points
  3. Step 3: Set number format (1/i/I/a/A or "Page N of Total"), start number, font size, and color
  4. Step 4: Optionally restrict numbering to a page range (e.g. pages 3–50 to skip a cover page and ToC)
  5. Step 5: Click Add Page Numbers — PDF-lib renders the numbers into the PDF stream in the browser
  6. Step 6: Preview the result in the on-page viewer, then click Download to save the numbered PDF

Key Features

How We Compare

Compared to desktop alternatives like Adobe Acrobat Pro (starting at $19.99/month), Smallpdf ($12/month for unlimited), or iLovePDF ($9/month Premium), PDF AI Tools delivers comparable quality at $0 for the core feature set. We skip the subscription friction by processing most operations directly in your browser with WebAssembly — no server infrastructure costs to pass on to users. Our AI features (summarization, chat, OCR) use a pay-as-you-go backend that keeps your total cost well under $5/month even for power users.

Frequently Asked Questions

Can I skip numbering the cover page and start at "1" on page 2?

Yes. Set Page Range Start to 2 and Start Number to 1. The first physical page is left unnumbered, and page 2 of the file receives the number "1" (or "i" in roman format). This matches the standard academic and legal document convention.

Will the page numbers be selectable/searchable text in the output?

Yes. PDF-lib writes real PDF text stream operators (BT/ET with Tf/Td/Tj), not a bitmap overlay. The numbers render as vector text, are picked up by PDF text-extraction, show up in Ctrl+F, and are correctly read by screen readers and OCR pipelines.

Does this work on scanned (image-only) PDFs?

Yes — page numbers are added as a new content stream on top of the existing page content regardless of whether that content is scanned images or native text. The underlying scan is untouched.

What is the maximum file size?

Up to 200 MB. The entire PDF is loaded into browser memory using PDF-lib, so very large files may be slow on low-RAM devices. For files over 100 MB we recommend closing other browser tabs first.

Can I add "Page X of Y" (total-pages) numbers?

Yes. Enable the "Include total page count" toggle to produce "1 of 24" format. PDF-lib performs a two-pass render: first pass collects the total page count, second pass writes the final strings including the total.

Who Uses This Tool