How to Extract Links from a PDF
Clickable link annotations, addresses printed in the text, and internal jumps are three different things inside a PDF. Here is how to get each one — and why a scanned PDF gives you nothing.
The short answer: open the PDF tool and drop the file in. It runs in your browser; the file is never uploaded.
What makes PDFs interesting is that "a link in a PDF" can mean three different things, and they behave differently.
| Kind | What it is | Reliability |
|---|---|---|
| External link annotation | A clickable rectangle with a URI action attached. The whole address is stored as one value. | Highest — this is the address the author intended |
| Internal destination | A clickable rectangle that jumps elsewhere in the same document — a contents entry. | Not a web address at all |
| URL-shaped visible text | An address typed into the page text, with or without a link attached. | Lower — can be split by a line break |
The tool reads annotations by default, offers visible text as an option (on by default), and excludes internal destinations unless you ask for them. Every row says which kind it came from.
Why text-derived addresses can be wrong
A PDF positions text on a page; it does not store paragraphs. A long address that wraps across two lines is stored as two separate runs of text.
Read them back and you get two fragments, or one fragment with a space in the middle. There is no general fix — the information about how they joined is not in the file. That is why:
- annotation rows are the reliable ones, and
- text-derived rows are flagged so you check them.
If a document has both, the annotation is what to trust.
A reference-collection workflow
- 1
Extract with page numbers
Open the PDF and let it read the annotations. The page number column is what makes the export useful — you can go back to the exact page a reference came from.
- 2
Remove the repeats
Documents repeat links: a footer address on every page, a source cited in several sections. The duplicate remover collapses them while showing you exactly what it removed.
- 3
Clean the campaign parameters
Links in published PDFs frequently carry
utm_tags from wherever the author copied them. The URL cleaner strips those without touching the rest of the address. - 4
Export as CSV
Page number, address, link type and any notes, ready for a bibliography or a spreadsheet.
Frequently asked questions
Is my PDF uploaded?
No. It is opened in your browser in a background worker using pdf.js. It is never sent to our server and never stored.
The PDF has links but nothing was found.
Check whether they are actually clickable in a PDF reader. Documents exported from some tools print the address as text without attaching a link annotation. Turn on "Also read addresses written in the visible text" to catch those.
Can it open a password-protected PDF?
No. Open it in a reader with the password, save an unprotected copy, and use that. We do not ask for your password, which is the safest arrangement.
What are the rows marked internal-destination?
Links that jump to another place inside the same document — a table of contents entry, a cross-reference. They are not web addresses, so they are excluded by default.