Edit a PDF
Click any line and type. The text keeps its font and the paragraph rewraps as you go.
How it works
- Drop your PDF in.
- Click the text you want to change and type.
- 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.
# 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)}"
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 }),
});
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 |