docubend

Edit a PDF

Click any line and type. The text keeps its font and the paragraph rewraps as you go.

How it works

  1. Drop your PDF in.
  2. Click the text you want to change and type.
  3. Download the edited PDF.

What it does

Most PDF editors do not edit the text. They lay a white box over the line you wanted to change and let you type on top of it, which is why the result so often looks like a ransom note. This one changes the words that are already in the file: it reads the fonts the document was set in, matches them, and rewraps the paragraph when your sentence gets longer or shorter.

What you can change

Click any line with real text in it and type. Paragraph reflow follows as you go, so a corrected sentence does not push words off the edge of the page or leave a gap where the old one was. You can also move blocks around the page, resize them, and change the size, weight and colour of what you have typed. Pages themselves can be added, removed, turned or reordered while you are in there.

What runs on your computer

Opening the file, drawing it, editing it and writing the new PDF all happen in this browser tab. There is no upload step, so there is no queue to wait in and no copy of your document on a server to be stored, scanned, indexed or asked for later. Close the tab and nothing of it remains anywhere — including with us.

When a PDF cannot be edited this way

A PDF made by scanning paper contains a picture of text rather than text, so there is nothing to click. The editor can read one — that is what OCR does, and it works here without an account — but reading a scan is the one step that does send the page image to our server, because the recognition cannot run in a browser. It is capped at ten pages a go and forty a day from one address.

Doing this from your own code

There is no edit verb. What there is instead is the document's own model: fetch it as JSON, change the nodes, and put the whole model back.

curl
# fetch the model, change it, put the whole thing back
curl -s https://docubend.com/api/v1/documents/$ID.json \
  -H "Authorization: Bearer $TOKEN" -o model.json

# …edit model.json…

curl -s -X PUT https://docubend.com/api/v1/pdfs/$ID \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"model\": $(cat model.json)}"
JavaScript
const got = await fetch(`${BASE}/api/v1/documents/${id}.json`,
  { headers: { Authorization: `Bearer ${TOKEN}` } });
const model = await got.json();

// …change model.pages…

await fetch(`${BASE}/api/v1/pdfs/${id}`, {
  method: "PUT",
  headers: { Authorization: `Bearer ${TOKEN}`,
             "Content-Type": "application/json" },
  body: JSON.stringify({ model }),
});
Python
model = requests.get(f"{BASE}/api/v1/documents/{id}.json",
    headers={"Authorization": f"Bearer {TOKEN}"}, timeout=60).json()

# …change model["pages"]…

requests.put(f"{BASE}/api/v1/pdfs/{id}",
    headers={"Authorization": f"Bearer {TOKEN}"},
    json={"model": model}, timeout=60)

The model is the same JSON the editor works on. Documents reference.

Questions

Can I edit any PDF?

Any PDF that has real text in it. A scanned page is a picture of text, so there is nothing to click — use the editor's read-a-scan step first, which turns it into text you can edit.

Does it keep my fonts?

It matches the font the PDF names. If that font is not embedded in the file, it falls back to the closest one your browser has, which is the closest promise anything can honestly make.

Is there a watermark?

No. Nothing is added to your file, on any tier, ever.

How big a file can I open?

25 MB, and three files in one session. Those are the free tier's limits and they are enforced in the browser before anything is read.

What if my PDF is locked?

Drop it in anyway. This page works out what kind of lock it has and offers you the ways out of it — most locked PDFs have no password at all, and those open here without one.

Do I need an account?

No. Editing, saving the result to your computer and everything on this page work with no account at all.

Next

Tool What it does Runs in Same thing, programmatically
Annotate a PDF Highlight, draw and add notes on top of the page. your browser the document model
Sign a PDF Draw a signature and place it where it goes. your browser the document model
Convert PDF to Word Get an editable .docx with the text as text. your browser no endpoint
Fill in a PDF form Fill a PDF's real form fields, and flatten them if you like. your browser POST /api/v1/forms

All 16 tools · API documentation · What an account adds