Adding text to a PDF and editing existing text are different problems
A PDF page's text isn't stored as editable characters the way a word processor stores them — it's stored as content stream instructions: draw these glyphs, from this font, at this position. There's no 'paragraph object' you can click into and retype; the text is baked into the page's drawing instructions at creation time. This is exactly why pdf-lib, the library this tool runs on, can add brand-new content streams to a page but cannot reach into an existing content stream and swap out characters.
That distinction shapes everything about how this tool works: it's an annotation tool that places new text boxes at coordinates you specify, layered on top of the existing page — not a word-processor-style editor that lets you click on existing text and change it.
PDF's coordinate system runs upside down from what you'd expect
Screen and web coordinates almost universally place the origin at the top-left, with Y increasing downward — that's how CSS, HTML canvas, and most image formats work. PDF geometry does the opposite: the origin (0, 0) sits at the bottom-left corner of the page, and Y increases upward. If you're used to web coordinates and place text at Y=750 on a US Letter page (792 points tall) expecting it near the top, that actually is near the top — but the same instinct that puts a small Y value near the top in web design puts it near the bottom in PDF points.
Working out coordinates for common page sizes
| Page size | Width (pt) | Height (pt) | Y for 'near top' | Y for 'near bottom' |
|---|---|---|---|---|
| US Letter | 612 | 792 | ~720–750 | ~40–72 |
| A4 | 595 | 842 | ~770–800 | ~40–72 |
| Legal | 612 | 1008 | ~940–970 | ~40–72 |
Adding a text box
Drop a PDF onto the zone.
Click Add to insert a text box, then type your text.
Set the page (1-indexed — page 1 is the first page, not page 0), the X/Y coordinates in PDF points with the origin at the bottom-left, font size, and color.
Click Save edited PDF to download the result.
Working out X and Y without trial and error
The tool shows the page size for reference, and that's the number to build your placement from rather than guessing. For X, remember it measures distance from the left edge — a value near 0 places text at the far left, and a value near the page width places it at the far right; for text to sit roughly centered, a rough starting point is (page width − estimated text width) ÷ 2. For Y, work backward from the page height: if you want text one inch (72 points) from the top edge of a US Letter page (792 points tall), set Y to 792 − 72 = 720 points.
Font size also affects vertical placement in a way that's easy to miss: the Y coordinate you set marks the baseline of the text, not its top — so a larger font size extends further above the Y coordinate you specified, and very large font sizes near the top of a page can render partially off the page if the baseline is set too close to the top edge.
Why this can't touch existing text
It's worth being direct about this limitation rather than glossing over it: because pdf-lib works by adding fresh content streams rather than parsing and rewriting the ones already in the page, it fundamentally cannot locate an existing sentence and change its wording, font, or position. Anything already printed on the page stays exactly as it is; this tool can only layer new text on top of it. If your actual goal is correcting or replacing text that's already in the document — fixing a typo in a paragraph, updating a date printed in the body — that requires a desktop editor like Adobe Acrobat or LibreOffice Draw that can parse and rewrite the underlying content stream, which is a different and heavier engineering problem than adding new content.
Common mistakes
Assuming Y works like web/screen coordinates — a small Y value in PDF points is near the bottom of the page, not the top.
Setting Y too close to the page height with a large font size, causing the top of the text to render outside the visible page area, since Y marks the text baseline.
Trying to use this tool to correct a typo or change existing wording — it can only add new text on top, not modify what's already there.
Guessing coordinates without checking the displayed page size first — working from the actual width and height in points avoids most placement surprises.
Where this fits vs. other tools
This tool is purpose-built for placing arbitrary text at exact coordinates you choose — a specific annotation, a note in a margin, a label pointing at part of a diagram. For repeating, structured additions there are more targeted tools: adding a logo or image needs the PDF Image Stamp tool instead, a repeated diagonal or tiled marking is better handled by Add PDF Watermark, consistent running headers or footers across every page belong in PDF Header & Footer, and sequential numbering across pages is what Add Page Numbers automates rather than placing manually page by page.
Real use cases
Adding a handwritten-style note or instruction at a specific spot on a form before sending it back.
Placing a single 'DRAFT' or 'CONFIDENTIAL' label at a precise location on a cover page.
Annotating a diagram or figure in a PDF with a label pointing to a specific element.
Filling in a small piece of missing information — a date, a reference number — at an exact spot on an otherwise finished document.
Frequently asked questions
Q: Can I edit existing text?
A: No — pdf-lib can add new content but cannot modify existing text streams. To change existing text, use a desktop editor like Adobe Acrobat or LibreOffice Draw.
Q: What coordinate system is used?
A: PDF points with the origin at the bottom-left corner of the page. Y grows upward, the opposite of typical screen coordinates. The page size is shown for reference.
Q: Are my edits uploaded?
A: No. The PDF is loaded, modified, and saved entirely in your browser.
Q: Can I add images too?
A: Use the dedicated PDF Image Stamp tool for that — it's optimized specifically for placing PNG/JPG logos on pages.
Q: My text appeared lower on the page than I expected — why?
A: The Y coordinate marks the text's baseline, not its top edge, so with a larger font size the visible top of the letters sits noticeably above the Y value you entered.
Q: Can I add the same text box to multiple pages at once?
A: Each text box targets one specific page number, so repeating the same text across every page — like a running header — means adding it once per page, or using a purpose-built tool like PDF Header & Footer that's designed for that repetition.
Add your text now
Place your text with the Edit PDF tool. Need to add a logo instead? Use PDF Image Stamp. Want a repeated diagonal marking across every page? Try Add PDF Watermark, or automate running headers and page numbers with PDF Header & Footer and Add Page Numbers.