PDFDancer logo

PDFDancer

PDF used to be read-only.

We fixed that.

A developer SDK to edit PDFs: text, fonts, graphics - all preserved.
const pdf = await PDFDancer.open("document.pdf");
const [paragraph] = await pdf.page(1).selectParagraphsStartingWith('Lorem Ipsum');

await paragraph.edit()
    .replace('New Text')
    .font("Inter", 12)
    .lineSpacing(1.3)
    .moveTo(100, 400)
    .apply();

await pdf.save("output.pdf");

Watch it work.

Move images. Reposition headers. Edit text inline. Change fonts. Simple API calls that just work.

See full technical guide →Try the font replacement demo →Try FontSwap — replace fonts in your own PDF →
Source PDF
Saved PDF
PDFDancer logo
PDFDancer Inc.
Consolidated Balance Sheet

As of December 31, 2023

ASSETS

Current Assets

Cash and cash equivalents$2,450,000
Accounts receivable$1,875,000
Revenue 2023$14,300,000
Prepaid expenses$325,000
Total Current Assets$18,950,000
LIABILITIES & EQUITY

Current Liabilities

Accounts payable$950,000
Accrued expenses$425,000
Total Liabilities$1,375,000
This document has been prepared in accordance with Generally Accepted Accounting Principles (GAAP).
For questions regarding this financial statement, please contact our accounting department at [email protected]
API Calls

Why PDFDancer Exists

Developers everywhere struggle with PDFs. The format wasn't built to be edited, and existing tools fall short. Here's what people are saying:

"I fucking hate PDF with a burning passion"
Laura·X
"Things as bad as PDFs shouldn't still exist in 2025"
Harshal Gajjar·X
"It's almost like pdf was designed to beat technology"
fabio casati·X
"Parsing PDFs has slowly driven me insane over the last year"
Vik Paruchuri·X
"PDF font maps can lie, so what you copy is not what you see"
Vik Paruchuri·X
"You go thinking you're grabbing text, and end up with a puzzle instead"
Robert Youssef·X
"Existing tools don't embed fonts correctly unless they're widely supported"
minanabilayoub·Reddit
"PDFs care more about drawing than preserving meaning - nothing semantic is stored"
Vik Paruchuri·X
"PDF generators drop details. It's a compressed printed page, not editable content"
Anonymous·Reddit
"I worked on parsing pdfs for 1.5 weekends and concluded - pdf parsing is thankless"
nickcdryan·X
"I've seen pages where the text was all drawn paths and the characters weren't included"
Anonymous·Reddit
"Modifying PDFs is always tricky - that was not initially foreseen when the format was developed"
"I fucking hate PDF with a burning passion"
Laura·X
"Things as bad as PDFs shouldn't still exist in 2025"
Harshal Gajjar·X
"It's almost like pdf was designed to beat technology"
fabio casati·X
"Parsing PDFs has slowly driven me insane over the last year"
Vik Paruchuri·X
"PDF font maps can lie, so what you copy is not what you see"
Vik Paruchuri·X
"You go thinking you're grabbing text, and end up with a puzzle instead"
Robert Youssef·X
"Existing tools don't embed fonts correctly unless they're widely supported"
minanabilayoub·Reddit
"PDFs care more about drawing than preserving meaning - nothing semantic is stored"
Vik Paruchuri·X
"PDF generators drop details. It's a compressed printed page, not editable content"
Anonymous·Reddit
"I worked on parsing pdfs for 1.5 weekends and concluded - pdf parsing is thankless"
nickcdryan·X
"I've seen pages where the text was all drawn paths and the characters weren't included"
Anonymous·Reddit
"Modifying PDFs is always tricky - that was not initially foreseen when the format was developed"
"I fucking hate PDF with a burning passion"
Laura·X
"Things as bad as PDFs shouldn't still exist in 2025"
Harshal Gajjar·X
"It's almost like pdf was designed to beat technology"
fabio casati·X
"Parsing PDFs has slowly driven me insane over the last year"
Vik Paruchuri·X
"PDF font maps can lie, so what you copy is not what you see"
Vik Paruchuri·X
"You go thinking you're grabbing text, and end up with a puzzle instead"
Robert Youssef·X
"Existing tools don't embed fonts correctly unless they're widely supported"
minanabilayoub·Reddit
"PDFs care more about drawing than preserving meaning - nothing semantic is stored"
Vik Paruchuri·X
"PDF generators drop details. It's a compressed printed page, not editable content"
Anonymous·Reddit
"I worked on parsing pdfs for 1.5 weekends and concluded - pdf parsing is thankless"
nickcdryan·X
"I've seen pages where the text was all drawn paths and the characters weren't included"
Anonymous·Reddit
"Modifying PDFs is always tricky - that was not initially foreseen when the format was developed"

These problems end here. PDFDancer gives you pixel-perfect control without the pain.

Start Free. Scale When Ready.

Start free with 200 pages/month. Scale with overage or go Enterprise.

Free

Free. No credit card. No signup. No hassle.
$0/month
  • 200 Pages / Month
  • All Features
  • Watermarked Output

Enterprise

Custom
  • Everything in Pro
  • Custom Page Volume
  • Self-Hosting / On-Premise License
  • Dedicated Support & Onboarding
Available Add-ons
  • OCR Processing
  • ML-Based Redaction

Compare Plans

FeatureFreeProEnterprise
Usage
Pages / Month2001,000Custom
Overage$0.19 / pageCustom
All Core Features
Output
No Watermarks
Add-ons
OCR Processing$0.05 / pageCustom
ML-Based Redaction$0.20 / pageCustom
Support
Email Support
Dedicated Support
Dedicated Onboarding
Deployment
Self-Hosting / On-Premise
Fastest Way to Build

Start Building in 3 Seconds

The PDFDancer MCP server gives your AI coding assistant instant access to searchable PDFDancer SDK documentation. No more context switching or manual doc searches.

1

Install MCP Server

Claude Code: Run this command (takes 3 seconds)

2

Start Prompting

Your AI now has access to PDFDancer docs and can build anything PDF-related

💬"Create a PDF invoice generator in Python, use pdfdancer"

Works with Claude Code, Cursor, VS Code, and more

Frequently Asked Questions

Everything you need to know about PDFDancer