Best Free Annotate PDF
Add a note, a text box or a highlight rectangle to a PDF page — free, no signup.
How it works
- Upload. Choose the PDF you want to mark up (up to 100 MB).
- Add a markup. Pick a note, text box or rectangle, set the page and position, and add your text.
- Download. The annotated PDF downloads automatically; the original is never stored.
About this tool
Annotate PDF adds a markup to your document: a sticky note, a free-text box written directly on the page, or a rectangle to draw attention to an area. You choose the page and the position, and the annotation is embedded as a real PDF annotation that other readers can see. It is handy for leaving a comment, flagging a section, or boxing something for review without opening heavyweight PDF software. No signup, processed in memory and discarded.
What people use it for
- Leave a comment on a document for a colleague
- Box a clause or figure that needs attention
- Write a correction directly onto the page
- Flag a section before sending a PDF for review
Developer API
Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.
https://best.free/api/tools/pdf-annotator/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
document.pdf |
Yes | PDF, ≤25 MB. |
type |
note |
No | note / freetext / box. |
text |
Please review this section |
No | Text for note / freetext. |
page |
1 |
No | Page number (default 1). |
x |
72 |
No | X position in points. |
y |
72 |
No | Y position in points. |
curl -X POST https://best.free/api/tools/pdf-annotator/ \
-F 'file=@document.pdf' \
-F 'type=note' \
-F 'text=Please review this section' \
-F 'page=1' \
-F 'x=72' \
-F 'y=72' \
-o annotated.pdf
import requests
files = {"file": open("document.pdf", "rb")}
data = {"type": "note", "text": "Please review this section", "page": 1, "x": 72, "y": 72}
r = requests.post("https://best.free/api/tools/pdf-annotator/", files=files, data=data)
with open("annotated.pdf", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
fd.append("type", "note");
fd.append("text", "Please review this section");
fd.append("page", 1);
fd.append("x", 72);
fd.append("y", 72);
const r = await fetch("https://best.free/api/tools/pdf-annotator/", { method: "POST", body: fd });
const blob = await r.blob(); // the annotated.pdf
Response: The PDF with a note, text box or rectangle added.