PDF Link Extractor
Choose a PDF and get one list of its links, without repeats. Clickable links and plain-text web addresses are both found, and you see on which pages each one appears.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Choose or drop a PDF.
- Read the list. Untick Also find web addresses written out in the text to see only clickable links.
- Press Copy for a plain list, one link per line, or Download CSV.
How it works
Clickable links are read from the page annotations in the file with pdf-lib, and the text of every page is read with pdf.js and searched for addresses. Punctuation at the end of an address, such as a full stop or a closing bracket, is not counted as part of it. Both lists are merged, and the same address is shown once with all its pages.
Example
A report links to https://example.org/a on page 2 and mentions the same address again in text on page 5. The list shows one row for it: pages 2, 5, found as Link and text.
Tips
- If you plan to check the links for errors, copy the list and open each one in turn.
- Sort the CSV in a spreadsheet to group links by site.
Frequently asked questions
Which links are found?
Clickable links that open an address (the URI links, including mailto: ones) and text that starts with http://, https:// or www. A link that jumps to another page inside the PDF is not listed.
Why are some addresses cut short?
A web address that the PDF breaks across two lines is read only up to the line end when it appears as plain text. A clickable link keeps its full address, so the Clickable link rows are the more reliable ones.
How are repeats handled?
The same address is listed once, with every page where it appears. Addresses are compared exactly, so a version with and without a trailing slash counts as two.
What is in the CSV?
Three columns: url, pages (separated by spaces) and source (link, text or both). It opens in any spreadsheet.
Why is nothing found in my scanned PDF?
A scan is a set of pictures. Addresses printed in a picture are not text, and this tool has no text recognition.