Click exactly where the text goes β size, color, font β all in your browser
Quick answer: to add text to a PDF, load the file above, click the spot on the page preview where the text should start, type what you want, and pick a size and color. The tool converts your click into PDF page coordinates (origin at the bottom-left, units in points) and stamps the text there with pdf-lib. Nothing uploads, and the download keeps every byte of the original file plus your additions.
| Page | Points (W Γ H) | Millimeters | Pixels @ 150 DPI |
|---|---|---|---|
| US Letter | 612 Γ 792 | 216 Γ 279 | 1275 Γ 1650 |
| US Legal | 612 Γ 1008 | 216 Γ 356 | 1275 Γ 2100 |
| A4 | 595.28 Γ 841.89 | 210 Γ 297 | 1240 Γ 1754 |
| A5 | 419.53 Γ 595.28 | 148 Γ 210 | 874 Γ 1240 |
| A3 | 841.89 Γ 1190.55 | 297 Γ 420 | 1754 Γ 2480 |
A PDF point is 1/72 of an inch, so Letter is exactly 8.5 Γ 11 in. Coordinates start at (0,0) in the bottom-left corner and Y grows upward β the opposite of screen pixels, where Y grows downward from the top-left. The drawText Y value is the text's baseline, so glyphs sit above the point you pick.
Two open-source engines split the job. pdf.js (the renderer behind Firefox's viewer) draws each page onto a canvas so you can see exactly what you're editing. When you click, the tool asks the viewport for the matching PDF coordinate β the conversion accounts for the preview's zoom level and the page's rotation, so a click lands where you saw it even on rotated or cropped pages. Then pdf-lib writes the text into the document at that coordinate and hands you the download.
On an unrotated page the math is short: PDF X = pixel X Γ· preview scale, and PDF Y = page height β pixel Y Γ· preview scale. Divide because the preview renders several screen pixels per point; subtract because the PDF's Y axis points up while the screen's points down. A click at canvas pixel (367, 214) on a Letter page rendered at 1.2Γ β meaning 1.2 screen pixels per point β becomes X = 367 Γ· 1.2 = 305.8 and Y = 792 β 214 Γ· 1.2 = 613.7, so the text baseline lands at (305.8, 613.7).
Font size in points is honest in PDFs: 14pt text on a 612-point-wide Letter page occupies the same share of the page printed or on screen. For scale, "APPROVED 2026-08-31" in Helvetica Bold measures 153.1 points wide at 14pt β about a quarter of a Letter page β and 262.4 points at 24pt, roughly 43 percent of the width. If your stamp runs off the edge, halve the size.
Load a PDF or generate the sample, flip to the page you need, and click the exact spot where the text should begin β the red crosshair marks the baseline point. Type the text, set font, size, and color, and choose whether the stamp applies to the current page or every page. Each addition is journaled, so Undo removes the last one and Clear all rewinds to the pristine file; the preview re-renders after every change so you're always looking at the real output. Download when it looks right.
Start with the one-page sample (a Letter page, 612 Γ 792 points). Click just below the heading, say at canvas pixel (183, 250) with the preview at 1.37Γ scale: X = 183 Γ· 1.37 = 133.6, Y = 792 β 250 Γ· 1.37 = 609.5. Leave the default text "APPROVED 2026-08-31", Helvetica Bold, 14pt, red. Add text, and the file grows by well under a kilobyte β the stamp is one text object with a font reference, drawn at (133.6, 609.5). Set the scope to Every page on a 30-page file and the same click stamps all 30 pages in one pass.
Load the PDF above, click the spot on the page where the text should start, type the words, pick a font size and color, and press Add text. The download that comes out is a standard PDF with your text stamped at the exact point you clicked. Everything runs in your browser, so there is no account, no watermark, and no upload.
PDF coordinates put the origin (0,0) at the bottom-left corner of the page, with Y increasing upward. A US Letter page is 612 by 792 points, so a click near the top of the page translates to a Y around 600-780, not 20. Screen pixels work the opposite way, which is why the tool converts for you: PDF Y equals page height minus pixel position, divided by the preview scale.
Match the document. Body text in most PDFs is 10 to 12 points, so a date or approval stamp that should read as a heading works at 18 to 36 points. For reference, APPROVED 2026-08-31 in Helvetica Bold measures 153.1 points wide at 14pt and 262.4 points wide at 24pt, which is about 43 percent of a Letter page's 612-point width.
No. The text is drawn as new content on top of what is already there. Existing text, images, and form fields keep their bytes, which is why the file size usually grows by only a kilobyte or two per addition. The trade-off: your stamp becomes a permanent part of the page, not a movable annotation or comment.
Yes, and it is one of the most common uses. A scanned PDF is an image of a page, and stamping draws on top of that image, so date stamps or initials land fine. What this does not do is OCR: the scan's existing text stays unsearchable, and your added text is a drawn string, not editable page text.
No. The page renders your file with pdf.js and edits it with pdf-lib, both running locally in your browser tab. The download link is generated from an in-memory blob. Contracts, medical records, and financial documents never leave your device, which is safer than most free online PDF editors.