Plainjar
Back to all tools

— pdf —

Live

Sign PDF

Draw or upload a signature, place it on the page and download signed.

runs entirely in your browser

Visual signature, not a legally qualified electronic signature (eIDAS QES). For contracts with formal legal effect: use a qualified service.

Your PDF stays in your browser. Rendering, placing, signing, and re-saving, all local via pdfjs-dist and pdf-lib.

Frequently asked questions

Is this legally valid as a signature?

This is a visual signature, handy for internal approvals, applications, vendor confirmations. It is NOT a qualified electronic signature (QES) under eIDAS. For contracts with formal legal effect you'll need a notary or a QES service like DigiD-Machtigen, Itsme, or DocuSign Advanced.

Is my PDF uploaded?

No. pdfjs-dist renders pages locally to canvas, pdf-lib builds the signed output locally too. No server, no log. Open the Network tab during use, you'll only see the pdf.js worker script load.

My JPG signature has an ugly white edge.

Slide the 'background threshold' lower. That makes fewer pixels transparent, only the truly white edges go. Better results: photo of signature on white paper, then run it through 'Remove background' (another Plainjar tool) for the cleanest result.

What does the metadata strip do to the output?

The ported stripPdfMetadata util removes Author/Title/Creator/Producer/CreationDate/ModDate from the output file. The recipient can't read which software you used or when you signed, except via the visual date stamp you optionally add yourself.

— related tools —

Related tools

Your PDF is processed in your browser via pdf-lib. The file is never uploaded, only the processed result goes to your Downloads.

Sign PDF — Plainjar