PDF Page Numbering Tool for Reports and Books

A stack of printed pages falls out of order the moment someone clips or scans it, and a file without numbers is hard to cite in a review. This page draws a label onto each sheet of a PDF with pdf-lib, running entirely inside the browser so the document never leaves the machine. Choose plain numbers, a current-over-total count, a Page N worded label, or Roman numerals, then pick one of six corners and the value the first numbered page should carry. The result downloads as a new file with the labels already in place.

Number Every Page of a PDF

Format, corner, and start value The document stays in this tab.

Choose a PDF

Pick one file. Encrypted or damaged files are reported when you press Add page numbers.

Numbering settings

Choose a PDF, pick a format, then press Add page numbers.

How It Works

The PDF is loaded from the File API bytes, and the page box decides which sheets are numbered; an empty box means every page. The start value is read as an integer, and anything below 1 falls back to 1 with a note in the issues line. The total shown in 1 / N labels is the start value plus the count of selected pages minus one, which keeps the count honest when only part of the document is numbered.

For each selected sheet, the label function turns the position in the selection into text. Plain numbers print the integer, 1 / N appends the total, Page N adds the word, and Roman runs the value through a converter that follows the subtractive rule, so 4 prints IV rather than IIII. A value past 3999 has no standard Roman form, so those labels fall back to plain digits instead of vanishing from the page.

The placement function maps the chosen corner to coordinates with a 36 point margin, about half an inch, reduced automatically on small pages. Helvetica is embedded once, and each label is drawn at 10 point in a dark gray. Center anchors are centered by measuring the string width with the font and shifting left by half; right anchors shift left by the full width so the label ends at the margin. The producer field is set to FlowStack Tools and the bytes become a local download.

Before and After

Before (no labels)
file: tender-response.pdf
14 loose pages after printing
no way to reassemble the stack
After (1 / N labels)
Added "1 / N" numbers to 14 pages
3 / 14 printed at the foot of each sheet
[ Download numbered.pdf ]
Before (start left at 1)
part-two.pdf starts its count at 1
part-one.pdf ended at page 14
the binder shows two page ones
After (start set to 15)
start value 15
first sheet reads 15 / 28
parts run in order

Use Cases

Scenario Settings Result
Printed RFC packet for a design review 1 / N, bottom center, start 1 Printed sheets match the index
Quarterly report split across two files Start at 15 on the second part One continuous count across the pair
Thesis with front matter Roman on pages 1-8, plain after Preface and body follow the usual book pattern
Deck printed as landscape handouts Page N, top right, full range Labels clear the slide content and the tray edge

Common Mistakes

  • Typing 1-5 in the page box and expecting the whole file to be numbered. Only the selected sheets receive labels; the rest stay blank.
  • Leaving the start value at 1 when the file continues a previous part. The second document restarts the count and the binder disagrees with itself.
  • Expecting the half-inch margin to survive every printer. A borderless or mis-fed driver can shave the edge and clip the label.
  • Counting on Roman labels past 3999. Those values fall back to plain digits, so a very long book switches style mid-run.

Best Practices

  • Number a copy rather than the original, so a second run with different settings never stacks labels on top of old ones.
  • Pick 1 / N for any file that will be printed, collated, or split again; the total makes a missing sheet obvious.
  • Set the start value before pressing the button and read the issues line afterwards; a clamped value shows up there.
  • For books, number the front matter with Roman numerals in one run, then the body with plain numbers and a matching start in a second run.

Frequently Asked Questions

Can I start numbering later in the document?

Yes. Type a range such as 5-12 in the page box so only those pages receive a label, and set the start value to the number the first selected page should carry. A run that begins on the fifth sheet can show 5 there while the earlier pages stay untouched.

Can I use Roman numerals for front matter?

Yes. Number the preface pages with the Roman style starting at 1, then run the tool again on the body pages with plain numbers and a matching start value. Roman output covers 1 through 3999; a value past that falls back to plain digits so no page ends up blank.

Which corners work best in print?

The 36 point margin keeps text about half an inch from the edge, which most office printers can hold. Bottom center is the common choice for reports, bottom right suits books, and top corners suit landscape slides where the lower edge may sit in a tray.

Does this use PDF form fields?

No. The number is drawn as ordinary text with the Helvetica font embedded in the file, so it prints and copies like any other label. There is nothing to tab into, and changing the number later needs a content stream editor rather than a form.

Will it number scanned PDFs?

Scanned pages are images, so the labels are painted on top of the picture like any other mark. Check the first and last sheet after the run to confirm the margin clears the scan edges, since a scan shifted off center can bring the image closer to the border.

Can I do Page N of M numbers?

Pick the 1 / N format. It prints the current page and the count of selected pages, such as 3 / 24. Set the start value when the first selected page is not page 1, and both halves of the label shift together.

Do my PDF files leave my device?

No. The file is read into browser memory, pdf-lib draws the numbers, and the result becomes a local download. No request carries your document, and closing the tab discards the bytes along with the link.