Skip to content

Add header & footer

Put text in any of the six corners of every page.

Processed on your device

This tool runs entirely in your browser. Your file is never uploaded, and you can verify that in your browser's network tab. Verify it yourself: open your browser's network tab and watch. You will see one small request asking whether you have tasks left - a tool name and a hash, never the file.

What this does

Six independent slots - left, centre and right, at the top and at the foot - because that is the arrangement printed documents actually use: a title on the left, a page number on the right, a confidentiality line centred at the bottom. Each slot takes plain text, tokens, or both, and the text is drawn into the page rather than added as a separate layer.

Use it on a document assembled from several sources that needs to read as one, on a bundle that has to carry a case name on every sheet, or on drafts that need a date so nobody argues about which version they are holding.

How it works

  1. Drop the PDF onto this page.
  2. Type into whichever of the six slots you need. At least one must have something in it; the bottom-right slot starts with {page}.
  3. Use tokens where the text should differ per page or per document: {page}, {pages}, {date}, {filename}, {title}, {author}.
  4. Set the size, colour and margins so the text clears the document's own content.
  5. Skip the cover page or give a page range under advanced options if the opening pages should stay clean.
  6. Press Add header and footer and the download starts.

The tokens are the same ones Add page numbers uses, deliberately: someone who has learned {page} of {pages} in one tool should not have to learn a second syntax here. {filename}, {title} and {author} are read from the document itself, so a header can carry the document's own title without your typing it. Unknown tokens are printed verbatim, which makes a typo visible rather than mysterious.

Date tokens read the clock once for the whole document. A job that starts at 23:59 and finishes at 00:01 prints one date on every page rather than two, which is the kind of detail that only surfaces later, in a document nobody can now explain. {date}, {time} and {datetime} are formatted for the page's language, falling back to English formatting for a locale tag the browser does not know.

Margins are exposed rather than guessed. A document whose own text runs close to the sheet edge will collide with a header at any default inset, and the alternative - quietly scaling every page down to make room - would change every measurement in the document to fix something you can see and correct with one slider. Raise the margin or reduce the size, and check page 1 before committing.

Skip the cover page removes page 1 from the pages that get stamped; it does not change what the stamps say, so page 2 still reads 2. Use a page range instead when the front matter runs to several pages. Start counting at shifts every printed number by a fixed amount, for a document that continues another.

The font is embedded, so accented characters and Cyrillic print correctly even on readers that would otherwise substitute a face of their own. CJK, Arabic and Indic are outside what that set covers.

What this tool cannot do

  • The text is drawn on top of the existing page and the page is never resized to make room for it. On a document whose content already runs close to the edge, a header or footer will overlap it; the fix is a larger margin or a smaller size, not a different tool.

Questions people ask

What can I type into a header or footer slot?
Any text, plus tokens in braces. {page} and {pages} give the number and the total, {roman} and {ROMAN} give roman numerals, {filename}, {title} and {author} come from the document, and {date}, {time} and {datetime} from the clock. So Confidential - {title} - page {page} of {pages} prints exactly that, with the tokens filled in.
The footer sits on top of my text. What should I change?
Increase the bottom margin, reduce the font size, or move that text to a slot that is free. The page is deliberately never shrunk to make room, because scaling it would move every measurement in the document. Most documents leave enough room at 24 points; a densely typeset one needs more.
How do I keep the cover page clean?
Turn on Skip the cover page under advanced options: page 1 is left untouched and everything else is stamped. If the front matter runs to more than one page, use the page range instead - 4- stamps from page four onwards.
Can the footer show today's date?
Yes. {date} prints a medium-length date, {time} the time, {datetime} both. The clock is read once when the job starts, so every page agrees, and the result is formatted in the language the page is being viewed in.
Does the file go to a server?
No. The document is read, stamped and written entirely in your browser, and the metadata behind {title} and {author} comes from the file in front of you rather than a lookup anywhere. Nothing about the document is transmitted; the one request a run makes asks whether you have tasks left, and carries a tool name and a hash of the bytes.

Related tools