How signing a PDF here works
Drop the file and a pad opens. Draw your name in it with a mouse, a trackpad or a finger. The pad keeps the points your pointer traveled through rather than the pixels it painted, and every sample carries a timestamp, so the line between two samples can take its width from how fast your hand was moving. Slow strokes come out fat and quick ones come out thin, and the curve runs from midpoint to midpoint instead of corner to corner, which is what stops the result reading as a length of cable.
The pages arrive next, last page first, since that is where a signature usually goes. Drag your name to the spot, pull a corner to size it, and press the button. The signature is redrawn from those same recorded points at four times the width of the box you dragged: a 185-pixel box on screen becomes a 736-pixel picture in the file, which across a third of an A4 sheet works out at 262 dots per inch. The preview you aimed at held 66.
Where it lands is stored as a fraction of the page picture, never as pixels or points. A fraction survives the render scale and your screen's pixel ratio, and pdf-lib converts it using the crop box and the rotation flag the document carries. So a page cropped 36 points in from its own sheet, or one a scanner stored sideways, gets the mark where you put it rather than half an inch off the edge.
pdf.js downloads when you drop the file, because it has pages to paint. pdf-lib waits for the button, because until you have drawn something there is nothing for it to write. Both run inside the tab, so the contract goes no further than the disk you opened it from.
When you'd reach for it
- An NDA lands in your inbox as a PDF and the sender wants it back this afternoon.
- A school consent form with a signature line and no online submission.
- A delivery note or a timesheet you sign the same way every week.
- A one-page contract, where printing it, signing it and scanning it back in costs you three devices and usually a second scan.
What this tool cannot do
Produce a digital signature. There is no certificate here, no /Sig entry written into the file, no timestamp and nothing that ties the mark to you. pdf-lib's own source says it "does not currently provide any specialized APIs for creating digital signatures". What comes out is a picture of your name sitting on the page, the same thing you get by printing a contract, signing it and scanning it back. Whether that satisfies the person who asked is between you and them, and this page will not answer that for you.
Leave the other side's digital signature valid. If your client signed this contract with a certificate before mailing it, that signature is a sum computed over the file as it stood at that moment. Saving here builds the document again from the objects it was read into, every one of them renumbered, so their mark stays visible on the page and stops passing its check. When the countersignature has to survive, sign a printout instead, or use a tool that holds a certificate.
Sign a document that arrived encrypted. Contracts often turn up with an /Encrypt dictionary that forbids editing while letting anyone read them, which is why yours opens for you and still stops here. pdf-lib writes nothing into a file like that, and this tool has no lock-picking in it. Whichever app displays the contract can usually save you a copy without the dictionary; that copy signs.
Fill in form fields. A PDF with real text boxes and checkboxes needs a form filler, and this tool is not one. The tool never asks pdf-lib for the document's form at all, on purpose: that call deletes the XFA data a government form carries, and a signed copy of a wrecked form is worse than no copy. Your form comes back with its fields exactly as they arrived, and the signature on top.
Type your name in a script font. The pad reads a pointer and nothing else. A cursive font would land differently on every machine that has a different one installed, so what you saw would not be what the other side opens. There is no keyboard route to drawing either, and pretending otherwise with an aria-label would be worse than saying so.
Remember your signature. Close the tab and it is gone. Nothing is stored, there is no account, and the same is true of the document. It also means you draw your name again next time.
Place two marks in one run. One document, one signature. If a contract needs your initials on page 3 as well, drop the signed copy back on the dropzone and go again.
Read a signature that is already in the file. Nothing here inspects, validates or removes what somebody else added.
Take a document of any size. The limit is 100 MB, and a file near it sits in memory twice while the run happens: the renderer keeps it to paint the pages from, and the writer keeps its own copy to save the new document out of. A laptop absorbs that. A phone browser may close the tab instead, without saying why, so sign the 90 MB scan on a desktop.
Frequently asked questions
Does the file leave my computer?
No. pdf.js paints the pages and pdf-lib writes the new one, both inside the tab, and neither uploads anything. The requests your click makes are for those two libraries, plus the character maps and image decoders pdf.js fetches from this site when a page carries a font it does not know or a JPEG 2000 scan.
Why is the signed file a different size than the one I dropped?
Your name accounts for about 11 KB of the difference. The rest is repacking: pdf-lib writes out every object it read, in a layout of its own, and that is rarely the layout your file came in. Our 12-page test file arrives at 25,842 bytes and leaves a little under 25,000, smaller than it started despite gaining a signature, because it came in without object streams. A 61,515-byte scanned page moves the other way, to roughly 73,000. Neither figure is about your signature, which is why there is a size under your download and no percentage beside it.
Will it look sharp when I print it?
Yes, and it holds up at whatever size you drag it to. The ink is redrawn from the recorded points rather than enlarged from the pad, so the box lands at 262 dots per inch when it opens and never falls below 240 anywhere between a tenth of the page width and the whole of it. An office laser prints at 600, so your name is the softest thing on the page, and still sharper than a scan of a signed printout.
The scan is sideways. Will my signature come out sideways too?
No. The preview shows the page the way your reader will, rotation applied, and the mark goes in turned to match. On a page stored at /Rotate 90 the signature is drawn into the file at that same quarter turn, so it reads the right way up beside the text instead of running down the margin. If the page itself is upside down, rotate it first and sign the corrected copy.
Can I use a photo of my real signature instead?
Not in this version. The dropzone takes the PDF and the pad takes your hand, and there is no third slot for an image file. A phone or tablet is the closest thing here to a pen: a finger on a touchscreen draws a much better line than a mouse does.
What if I sign the wrong place?
Drag it somewhere else. Nothing is committed until you press the button, and after that the original file is still sitting in the list, so you can move the signature and run it again. The second download replaces the first.
Does the rest of the document change?
The pages keep their count, their order and their dimensions, and the text stays selectable. One page gains an image and its content stream gains a wrapper around what was already there, so nothing that was drawn before the signature moves.