Your files never leave your device. All processing happens locally in your browser.
How do I sign a PDF online for free — drawing, typing or uploading my signature — without uploading the file?
Open Sign PDF, drop a PDF onto the page, then tap Signature and either draw with your mouse or finger, type your name in a handwriting font, or upload a photo of your handwritten signature. The signature appears on the document as a draggable box you can move, resize and place on any page; you can also add your initials, a dated stamp and more. When it looks right, press Sign & Download and the tool burns the marks into the PDF and saves it as name-signed.pdf. Everything runs in your browser with pdf-lib and pdf.js — the PDF and your signature never leave your device — and signatures you draw are optionally remembered on your own machine for next time.
Three ways to sign: draw with mouse/finger/stylus, type your name in one of eight handwriting fonts, or upload a signature image (transparent PNG works best)
Add signatures, initials and an auto-dated stamp, then drag, resize and drop each element anywhere on any page
Multi-page PDFs supported with page navigation and thumbnails; the download is your file name with a -signed.pdf suffix
Runs 100% in your browser with pdf-lib and pdf.js — no upload, no account, no watermark — and saved signatures stay in your browser’s local storage
This is an electronic signature (a visual mark drawn onto the page), not a certificate-based cryptographic digital signature
What is
Sign PDF
Signing a PDF means placing your signature — and often your initials, a date and other marks — directly onto the pages of a PDF so the finished file shows the document as signed. The common, everyday form is an electronic signature (e-signature): a visual representation of your signature, created by drawing it, typing your name in a handwriting-style font, or uploading a scanned image, that is composited onto the page as an image. Under laws such as the U.S. ESIGN Act and the EU’s eIDAS regulation, an electronic signature applied with intent to sign is generally legally binding for most agreements. This is distinct from a certificate-based digital signature, which uses public-key cryptography (a PKI certificate) to bind the signature to the document and detect any later tampering; a drawn or typed e-signature carries no cryptographic proof of identity or integrity. This tool creates electronic signatures entirely in the browser with pdf-lib and pdf.js, so neither the document nor the signature is ever uploaded.
No. The PDF is rendered, signed and saved entirely in your browser with pdf.js and pdf-lib, so neither the document nor your signature ever leaves your device — there is no upload, server or account.
Nothing is uploaded. When you choose or drop a PDF, the browser File API reads it into memory, pdf.js renders each page to an image you can place signatures on, and when you press Sign & Download pdf-lib embeds your signature images into the pages and writes a new PDF, all on your own machine. The signed file is handed back from a local Blob for download; no bytes are sent anywhere. That matters because the documents people sign — contracts, offer letters, NDAs, leases, consent and tax forms — are exactly the papers you would not want to hand to a cloud service. There is no login, tracking or CDN in the processing path, the tool works offline once cached, and closing the tab discards everything. Signatures you draw are only ever stored in your own browser’s local storage for reuse, never transmitted.
For most everyday agreements, yes — an electronic signature applied with intent to sign is legally recognised under laws like the U.S. ESIGN Act and the EU’s eIDAS. It is not a certificate-based cryptographic digital signature.
The signature this tool creates is an electronic signature: a visual mark drawn, typed or uploaded and composited onto the page. Under the U.S. ESIGN Act and UETA, and the EU’s eIDAS regulation, a contract or signature cannot be denied legal effect simply because it is electronic, so e-signed PDFs are broadly enforceable when the usual conditions are met — intent to sign, agreement to do business electronically, and each party keeping a copy of the record. What this is not is a certificate-based digital signature, which uses PKI cryptography to cryptographically bind a verified identity to the file and prove it has not been altered since signing. Some high-stakes or regulated documents (certain notarised deeds, wills, or filings that specifically demand a qualified/advanced digital signature) may require that cryptographic form or a dedicated e-signature service with audit trails. For everyday agreements a drawn or typed signature is normally fine; when in doubt, confirm the requirement for your specific document and jurisdiction.
All three. Tap Signature, then draw with your mouse, finger or stylus, type your name in one of eight handwriting fonts, or upload a photo or scan of your signature — a transparent PNG looks best.
When you tap Signature (or Initials), a panel opens with three modes. Draw gives you a canvas where you sign with a mouse, trackpad, finger or stylus, and you can pick a pen thickness and ink colour; the drawing is auto-cropped to your strokes so there is no empty box around it. Type lets you enter your name and renders it in one of eight cursive/handwriting fonts (Dancing Script, Great Vibes, Pacifico, Satisfy, Sacramento, Allura, Caveat, Homemade Apple) in your chosen colour. Upload lets you pick an existing image of your signature; a transparent PNG blends most cleanly onto the page. Whichever you choose, the signature is placed as a movable, resizable box — drag it anywhere, use the + / − buttons to size it, and add it to any page. You can also drop an initials mark and an automatically dated stamp, and signatures you draw are remembered locally so you can reuse them with one tap.
Yes. It is free with no account or watermark and runs in any modern mobile or desktop browser; you can place marks on any page and download a standard signed PDF named name-signed.pdf.
Sign PDF is completely free with no sign-up, watermark or limit, and because it is 100% client-side it works in any modern browser on Android, iPhone, iPad, Windows, macOS or Linux with no app to install — touch drawing and dragging are fully supported. Multi-page documents show page navigation buttons and a thumbnail strip (with a badge counting the marks on each page), so you can place a signature, initials or date on whichever pages need them. When you press Sign & Download, the tool composites every placed element into the PDF at the exact position and size you set and downloads a normal, universally readable PDF as your original file name with a -signed.pdf suffix. One PDF is processed at a time and the whole file is held in browser memory, so a very large document is bounded by your device’s RAM.
Detailed Explanation
📖How It Works
Signing a PDF in the Browser
Sign PDF lets you place your signature, initials and a dated stamp onto a PDF and download the signed file — and it does the whole job in your browser, without sending the document anywhere. You drop a PDF onto the /sign-pdf page; pdf.js renders every page to an image you can work on, and tapping Signature opens a panel where you create your mark three ways: draw it with a mouse, finger or stylus (choosing a pen thickness and ink colour), type your name in one of eight handwriting fonts, or upload a photo or scan of your handwritten signature. Each mark becomes a movable, resizable box you drag to the right spot on any page and size with + / − buttons; initials and an automatically dated stamp are one tap away. When it looks right you press Sign & Download, and pdf-lib embeds every element into the pages at the exact position and scale you set and saves a normal, universally readable PDF as name-signed.pdf. Signatures you draw are optionally remembered in your browser’s local storage so you can reuse them next time. It creates an electronic signature — a visual mark composited onto the page — not a certificate-based cryptographic digital signature.
Renders pages with pdf.js and embeds signatures with pdf-lib — entirely in the browser, nothing uploaded
Sign by drawing, typing in a handwriting font, or uploading a signature image; add initials and a dated stamp too
Each mark is a draggable, resizable box you place on any page; downloads as name-signed.pdf
Produces an electronic signature (a visual mark), not a PKI certificate-based digital signature
📋Use Cases
When to Use Sign PDF — and When You Need Something Stronger
Reach for Sign PDF whenever you need to add a handwritten-style signature to an everyday document quickly and privately: signing an offer letter or employment contract, an NDA, a lease or rental agreement, a consent or permission form, a school or medical form, an invoice or a delivery receipt. Being able to draw, type or upload a signature and drop it, plus initials and a date, onto the right pages covers the vast majority of routine paperwork, and because it is client-side you can sign sensitive documents without handing them to a cloud service. Under the U.S. ESIGN Act and UETA and the EU’s eIDAS regulation, an electronic signature applied with intent is generally legally binding for these agreements. The boundary is documents that specifically demand a certificate-based (advanced or qualified) digital signature or a formal audit trail — some notarised deeds, wills, certain court or government filings, or regulated transactions. Those need PKI-backed signing that cryptographically proves identity and tamper-evidence, which a drawn or typed mark does not provide; for them, use a certificate-based signing workflow or a dedicated e-signature service. For collecting signatures from other people with tracking and reminders, a full e-signature platform is a better fit; this tool is for signing a document yourself.
Ideal for everyday paperwork: offer letters, contracts, NDAs, leases, consent and school/medical forms, invoices
Client-side signing keeps sensitive documents private — nothing is uploaded
Electronic signatures are broadly binding under ESIGN, UETA and eIDAS when signed with intent
Documents requiring a certificate-based/qualified digital signature or audit trail need a PKI workflow instead
🔧Technical Details
How the Signature Is Created and Embedded
When the page loads at /sign-pdf it renders the SignPdf component (src/pages/tools/pdf/SignPdf.tsx), a self-contained React view backed by pdfjs-dist and pdf-lib with the pdf.js worker loaded locally. You add a PDF by drag-and-drop or the file picker (only application/pdf is accepted); the file is read into an ArrayBuffer, opened with pdfjsLib.getDocument, and each page is rendered to a canvas at 1.5× scale and stored as a JPEG data URL for display. Drawing uses a canvas with unified Pointer Events (mouse, touch and pen) so it works on phones and tablets; the finished stroke is scanned pixel-by-pixel to find its bounding box and auto-cropped to a transparent PNG. Typed signatures are drawn onto an off-screen canvas in the chosen Google handwriting font and colour and trimmed to the text; uploaded images are read as data URLs. Every placed element stores its type, page index, x/y position and width as percentages of the page, so it stays correctly located regardless of zoom. On Sign & Download, pdf-lib loads the original bytes (with ignoreEncryption), and for each element converts the data URL to bytes, embeds it with embedPng or embedJpg, converts the percentage geometry to PDF points (flipping the y-axis because PDF coordinates run bottom-up) and draws the image on the correct page; PDFDocument.save() then serialises a new file that is wrapped in an application/pdf Blob and downloaded as name-signed.pdf. Drawn signatures are persisted to localStorage under a single key for reuse.
pdf.js renders each page to a canvas (1.5×) as a JPEG data URL; the worker is bundled locally, not from a CDN
Drawing uses unified Pointer Events and auto-crops the stroke to a transparent PNG; typed marks use handwriting fonts
Each element stores page, x/y and width as percentages, so placement is resolution-independent
pdf-lib embeds the images (embedPng/embedJpg), maps the geometry to PDF points and saves a Blob as name-signed.pdf
⚠️Limitations
Honest Limitations
The most important point is legal, not technical: this tool creates an electronic signature — a visual mark drawn, typed or uploaded and composited onto the page — not a certificate-based digital signature. There is no PKI certificate, no cryptographic binding of your identity to the file, and no built-in tamper-evidence or audit trail (timestamps, IP, signer verification). E-signatures are legally recognised for most agreements under ESIGN, UETA and eIDAS, but documents that specifically require an advanced or qualified digital signature will not be satisfied by a drawn mark. Second, the signature is flattened onto the page image as part of the PDF content, so it becomes a permanent part of the file rather than a removable annotation; review placement before downloading. Third, because pages are rendered to images for placement, the visual preview you sign on is a rendering of the page — the signature is embedded into the real PDF at save time at the position and scale you set. Fourth, saved signatures live in your browser’s local storage, so they are per-browser and per-device and are cleared if you clear site data. Finally, one PDF is processed at a time and the whole file plus its rendered pages are held in browser memory, so a very large or high-page-count document is bounded by your device’s RAM.
Electronic signature only — no PKI certificate, cryptographic identity binding, tamper-evidence or audit trail
The signature is flattened into the page content, becoming a permanent part of the PDF (not a removable annotation)
Saved signatures are stored per-browser/per-device in localStorage and are cleared with site data
One PDF at a time; rendered pages are held in memory, so large documents are bounded by device RAM
🔒Privacy & Security
Privacy: The Document and Signature Stay in Your Tab
Signed documents are almost always the private ones — contracts, offer letters, NDAs, leases, consent and tax forms — and your signature is sensitive personal data, so uploading either to a cloud signer just to add a mark would be self-defeating. This tool never does. The PDF is read with the browser File API, rendered on your own device with Mozilla’s pdf.js (its worker bundled with the app rather than pulled from a third-party CDN), and the placed signature, initials and date images are embedded into a new PDF on-device with pdf-lib; the signed file is downloaded from a local Blob. There is no server, upload, database, logging, API or account anywhere in the processing path, and no telemetry. Signatures you choose to reuse are stored only in your own browser’s local storage — never transmitted — and can be removed by clearing site data. The tool keeps working offline once the page is cached, and closing the tab discards the document and its rendered pages. The only optional network use anywhere on the site is consent-gated advertising, which never sees your files — a meaningful contrast with cloud e-signature tools that require uploading the very document, and your signature, you were trying to keep private.
PDF read, rendered and signed entirely in the browser with pdf.js and pdf-lib; nothing uploaded
No server, upload, database, API or CDN in the processing path; the pdf.js worker is bundled locally
Saved signatures live only in your browser’s local storage and are never transmitted
No login and no telemetry; works offline once cached; closing the tab discards the document
Sign PDF — capability, method and limits
Capability
Support
Notes
Signature methods
Draw, type or upload
Draw with mouse/finger/stylus (pen size + colour), type in eight handwriting fonts, or upload a signature image
Marks
Signature, initials, dated stamp
Each is a draggable, resizable box placed on any page; a thumbnail strip badges the marks per page
Signature type
Electronic (e-signature)
A visual mark composited onto the page — not a certificate-based cryptographic digital signature
Legal standing
Binding for most agreements
Recognised under ESIGN, UETA and eIDAS when signed with intent; some documents require a qualified digital signature
Output
name-signed.pdf
A normal, universally readable PDF with the marks embedded by pdf-lib at your chosen position and scale
Reuse
Saved signatures
Drawn signatures optionally stored in browser localStorage for one-tap reuse; per-browser, never transmitted
Privacy & scale
In-browser, bounded by RAM
Rendered and signed on-device with pdf.js and pdf-lib, one PDF at a time; 100% client-side, no upload
Sign PDF adds a signature, initials and a dated stamp to a PDF entirely in the browser: pdf.js renders each page for placement and pdf-lib embeds your drawn, typed or uploaded marks into a new file downloaded as name-signed.pdf. It produces an electronic signature — a visual mark composited onto the page, legally binding for most agreements under ESIGN, UETA and eIDAS — not a certificate-based cryptographic digital signature with PKI identity binding and tamper-evidence. Drawn signatures can be reused from browser local storage; everything runs client-side with nothing uploaded, one PDF at a time, bounded by your device’s RAM.