PDF URL Extractor
Open a PDF and get its clickable links with page numbers — separated from internal jumps, and optionally alongside any address written in the visible text. The file never leaves your browser.
- You provide
- A local PDF file.
- You receive
- Clickable link targets with page numbers, separated from internal jumps, plus URL-shaped text if you want it.
- Use it when
- Use it for reports, papers and brochures where the references hide behind clickable text.
Drag a file here, or
PDF files · up to 60 MB
The PDF is opened in this browser tab in a background worker. The file is never uploaded.
What this tool cannot do
- A scanned PDF is a picture of a page: no text layer, no link annotations, nothing to read. We detect that and say so — export a page as an image and use the image tool instead.
- Password-protected files cannot be opened. Save an unprotected copy first.
- Addresses written in the visible text can be split by a line break, because that is how the document stores them. Those rows are flagged.
- Internal jumps — table-of-contents links to another page of the same PDF — are not web addresses, and are excluded unless you ask for them.
- Up to 400 pages by default, and files up to 60 MB.
Two kinds of link, kept apart
A PDF stores clickable links as annotations: a rectangle on a page with an action attached. An external annotation carries a URI — a real web address. An internal one carries a destination inside the same document, which is how a table of contents jumps to chapter three.
Those are different things, so they are listed differently. Internal jumps are excluded by default, counted, and reported, because they are not web addresses and putting them in a URL list is unhelpful.
Separately, the visible text of a page may contain something that looks like an address — a printed URL in a footnote, for example. Reading those is optional and on by default, and each such row is marked so you know it came from text rather than from a clickable link.
Why an address from text 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, and reading them back gives you two fragments, or one fragment with a space in the middle.
There is no general fix for this — the information about where one ended and the other began is simply not there. Rows from visible text are flagged so you check them, and the link annotations (which store the whole address as one value) are always the more reliable source.
Frequently asked questions
Is my PDF uploaded?
No. The file is opened in your browser, in a background worker, using pdf.js. It is never sent to our server and it is not stored anywhere.
The PDF definitely has links but nothing was found.
Check whether the links 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 for both of us.
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 off by default.
Related tools
- You provide:
- A PNG, JPEG or WebP screenshot or photo with a web address written in it.
- You receive:
- The text the OCR engine read, plus the address candidates found inside it — all editable.
- Use it when:
- Use it when someone sent you a picture of a link instead of the link, or when an address only appears in a slide or a photo.
- You provide:
- Pasted text, or a local TXT, CSV, JSON or Markdown file.
- You receive:
- Every web address found, with its line number, in the order it appeared.
- Use it when:
- Use it when the links are sitting inside prose, an email, a chat log, a notes file or a data export.
- You provide:
- A list of URLs, one per line.
- You receive:
- The de-duplicated list, plus a preview of exactly which entries were removed and which entry they matched.
- Use it when:
- Use it after combining exports from several sources, or before importing a list somewhere that rejects duplicates.
- You provide:
- A list of URLs, one per line.
- You receive:
- The cleaned list, with a before/after view of every address that changed.
- Use it when:
- Use it before sharing links, publishing a reference list, or importing URLs that would otherwise carry campaign parameters.
Guides for this tool
- How to Extract Links from a PDFClickable 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.
- How to Extract a URL from an Image or ScreenshotOCR can read an address that is visibly written in a picture. It cannot recover a link hidden behind the words "click here" — here is the difference, and how to get the best result when OCR is the right tool.