Sign a PDF
Draw, type or upload your signature, drop it on the page and download. No account, no watermark, no page limit — and the PDF never leaves your device.
Every other "free" PDF signer wants an email address before it gives you your own contract back, and stamps a logo on it besides. This one opens the file in your browser, stamps the signature you drew, and hands it straight back. The text in your PDF stays selectable — the signature goes on as a transparent image, not a flattened screenshot of the page.
Questions people ask
Is my PDF uploaded when I sign it?
No. Your PDF is opened, rendered and re-written entirely inside your browser using local JavaScript. Nothing is sent anywhere — the uploads counter in the top bar stays at 0, and you can watch it in your dev-tools Network tab while you sign.
Is an electronic signature like this legally valid?
For ordinary agreements, in most countries yes — the US ESIGN Act and the EU eIDAS regulation both recognise electronic signatures. What this tool makes is a visible electronic signature, not a cryptographic digital certificate, so it is not a "qualified" signature for the rare documents that specifically require one.
Does signing break the text in my PDF?
No. The signature is embedded as a transparent PNG on top of the page, so all the existing text stays selectable, searchable and copyable. The page is not flattened into an image.
Can I sign more than one page?
Yes. Click each page where you want the signature — place as many as you like — then download once. Drag any placed signature to move it, or pull its corner to resize.
Do I need an account, and is there a watermark?
No account, no email, no watermark, no page limit and nothing to subscribe to. The tool that works is the entire tool.
Does it work offline?
Yes. Once the page has loaded it keeps working with no connection — it is just code running on your device.
How this works & why it’s private
Your PDF is read into memory with the FileReader API, rendered to a <canvas> with pdf.js, and re-written with pdf-lib — all three of which are plain JavaScript files served from this domain and executed on your device. Your signature is captured from a canvas as a transparent PNG and embedded into the PDF as an image object, which is why the document's real text is left untouched. There is no server step anywhere in that chain, so there is no copy of your contract sitting in someone's bucket. Open your dev-tools Network tab and watch while you sign — nothing uploads.