Skip to main content

pdf-fill-studio

Fill any PDF on your machine, then drag every value into place.

pdf-fill-studio demo

pdf-fill-studio fills PDF forms locally and hands you a visual editor to fix the placement. It detects how a PDF is built and fills it the right way. The filled values show up over a browser preview of the real page. You drag them into the boxes, nudge with the arrow keys, and export. Nothing leaves your machine. The signature line stays empty so you sign it yourself.

Why

Most forms you actually have to fill have no form fields. The text is right, it just has to sit on the correct line, and getting there by typing coordinates is slow. The hosted tools that do this upload your document to a server, which you don't want for tax or insurance paperwork. This keeps everything local and gives you a real editor instead.

What it does today

  • Fills flat PDFs (no form fields) by overlaying text where it belongs, snapped to the line.
  • Per-character (comb) fields: one character centered per cell (postal codes, SINs, dates).
  • Browser editor: drag values over the rendered page, 1px nudges with the arrow keys, signature left blank.
  • AcroForm (native fields) fill, with profile autofill from a private JSON. A SIN or bank number is never stored.
  • XFA forms (LiveCycle / many government forms): best-effort fill by injecting the XFA datasets, with a free Adobe Reader fallback for dynamic forms that defeat headless tools.
  • Runs as a Claude Code skill. MIT licensed, and it never touches the network at runtime.

Profile

Copy profile.example.json to profile.json, fill in your own data, and pass it with --profile profile.json. The CLI fills every matched field automatically and prints what still needs manual input. Keep profile.json out of git (it is already in .gitignore by convention; add it if needed). A SIN, bank account, or card number in the profile file is silently skipped and never written to any PDF.

Install

With pip (gives the pdf-fill-studio command):

pip install pdf-fill-studio
pdf-fill-studio path/to/form.pdf

As a Claude Code plugin:

/plugin marketplace add KevinDoremy/pdf-fill-studio
/plugin install pdf-fill-studio@pdf-fill-studio

From source:

git clone https://github.com/KevinDoremy/pdf-fill-studio
cd pdf-fill-studio
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
pdf-fill-studio path/to/form.pdf

As an MCP server (optional)

Expose the fill tools over the Model Context Protocol:

pip install "pdf-fill-studio[mcp]"
pdf-fill-studio-mcp        # stdio MCP server: detect_pdf_type, list_fields, fill_acroform_fields, fill_flat_text

Metadata

Release files for pdf-fill-studio 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pdf-fill-studio 0.4.0
File Size Uploaded
pdf_fill_studio-0.4.0.tar.gz 512.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pdf-fill-studio 0.4.0
File Interpreter ABI Platform
pdf_fill_studio-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / pdf_fill_studio-0.4.0.tar.gz

Download URL pdf_fill_studio-0.4.0.tar.gz
Size 512.3 kB
Tags Source
SHA-256 checksum
How to use checksums
82ab8994ef4991a78bffa7a9202cd0e7ef8ebce38df73770e4b3d86c23ff4b53
BLAKE2b-256 checksum
How to use checksums
7176a1054b265c479749d3603c7049fa936be27f72f8b04338a73b095017ced6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 29, 2026.

Transparency log

Release files / pdf_fill_studio-0.4.0-py3-none-any.whl

Download URL pdf_fill_studio-0.4.0-py3-none-any.whl
Size 512.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f681f926fe0cbe84e2954ccee8f5ad17f2263fb660b2225de260e27dae3f51f
BLAKE2b-256 checksum
How to use checksums
13ae3eb532d2987857ba7a8fb8a1d09255fb3309dba9996c4c355e9e1c5e659f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page