HomeGuidesHow to Sign a PDF Online
Guide

How to Sign a PDF Online

3 methods — Papiral, Python, and Adobe Acrobat

Adding a signature to a PDF is one of the most common document tasks in business. Whether you're signing a contract, approving an invoice, or countersigning an agreement, here are three ways to add your signature to a PDF — from a fast image-stamp approach to a Python script.

Method 1: Using Papiral (stamp a signature image onto PDFs in bulk)

The quickest way to sign one or many PDFs — ideal when you have a pre-drawn or scanned signature image.

  1. 1Prepare your signature as a PNG or JPEG. A transparent-background PNG gives the cleanest result.
  2. 2Go to the Sign PDF tool on Papiral.
  3. 3Create a ZIP file containing your PDFs and your signature image (e.g. signature.png).
  4. 4Upload the ZIP to Papiral.
  5. 5Choose position (default: bottom-right of last page), size, and opacity.
  6. 6Click Process and download the signed PDFs.

For the cleanest signature, use a PNG with a transparent background. Photograph or scan your signature on white paper, then use a free tool like remove.bg or Photoshop to remove the background.

Method 2: Python with reportlab + pypdf

For developers who need to automate signing or insert a signature at a specific position programmatically.

  1. 1Install the required packages: pip install pypdf reportlab Pillow
  2. 2Use the script below — it creates a signature overlay and stamps it onto the last page of your PDF.

python

from pypdf import PdfReader, PdfWriter
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from PIL import Image
import io

def stamp_signature(input_path, sig_path, output_path):
    reader = PdfReader(input_path)
    writer = PdfWriter()

    # Copy all pages
    for page in reader.pages:
        writer.add_page(page)

    # Create signature overlay on the last page
    last_page = writer.pages[-1]
    width = float(last_page.mediabox.width)
    height = float(last_page.mediabox.height)

    packet = io.BytesIO()
    c = canvas.Canvas(packet, pagesize=(width, height))

    sig_w = width * 0.2   # 20% of page width
    img = Image.open(sig_path)
    sig_h = sig_w * (img.height / img.width)
    x = width - sig_w - 36
    y = 36

    c.drawImage(sig_path, x, y, width=sig_w, height=sig_h, mask="auto")
    c.save()

    packet.seek(0)
    overlay_reader = PdfReader(packet)
    last_page.merge_page(overlay_reader.pages[0])

    with open(output_path, "wb") as f:
        writer.write(f)

stamp_signature("contract.pdf", "signature.png", "signed_contract.pdf")

Use mask='auto' with drawImage to preserve PNG transparency — essential for a clean signature look on coloured backgrounds.

Method 3: Adobe Acrobat

  1. 1Open your PDF in Adobe Acrobat.
  2. 2Go to Tools > Fill & Sign.
  3. 3Click Sign Yourself > Add Signature.
  4. 4Draw, type, or upload an image of your signature.
  5. 5Click Apply and place the signature on the page by clicking where you want it.
  6. 6Save the document.

Adobe's Fill & Sign tool stores your signature for reuse. However, it only works on one file at a time — for signing batches of PDFs, Papiral is significantly faster.

Frequently asked questions

Is a stamped signature image legally binding?

A signature image stamp is a visual representation of your signature — the same as signing with a pen and scanning. Legal enforceability depends on jurisdiction and the agreement's requirements. For legally binding e-signatures with audit trails, use a dedicated e-signature service like DocuSign or Adobe Sign.

What's the difference between a signature stamp and a digital signature?

A signature stamp is an image placed on the PDF visually. A digital signature (in the cryptographic sense) uses a certificate to mathematically verify the signer's identity and detect tampering. Papiral applies visual signature stamps — not cryptographic digital signatures.

Can I sign just the last page of a multi-page PDF?

Yes — Papiral's Sign PDF tool lets you choose between signing the last page only (the default, matching most contract conventions) or stamping the signature on every page.

Ready to try the fastest method?

Stamp a signature image onto the last page (or all pages) of your PDFs. Upload a ZIP with your signature PNG/JPG alongside the PDFs.

Sign PDF — free