Extract links
Easily extract urls from a webpage an export the result as CSV or JSON.
What does this tool do?
URL extractor tool allows you to extract all links from a webpage, the tool analysis HTML of the webpage and extracts all anchor <a> tags.
Limitations of our tool
- No Javascript: we do not render a webpage like real web browsers do, we fetch the webpage and analyse its HTML to extract urls along with some additional metadata, which is why our tool is so fast but will not run for SPA such as Twitter, YouTube etc.
- Email protection service: url extraction tool can be used for extracting emails from a webpage because they are commonly added as links eg
<a href="mailto:noreply@savemyday.dev"> Send email <a>however if a website has Cloudflare email obfuscation or similar service turned on you will see gobbledygook as link. - Logins, bot protection and captchas: we respect website authors and we will not attempt to circumvent any protection or security measures to extract links.
- Non-HTML content: our tool is only designed to work with HTML documents, if the link returns any other format such as PDFs, spreadsheets, documents or images, the tool will not work.
How URL extractor works?
The tool works by fetching HTML of a webpage, then by extracting all anchors and normalising them so all relative urls are converted into absolute URLs. We do this without executing JavaScript of the supplied webpage, so some websites may work correctly. We built this tool using the following:
- Cloudflare workers: we use them to host our static assets, HTML pages and to serve dynamic requests.
- Cheerio: is a library for manipulating HTML and XML documents, we wanted something fast so we do not hit CPU limits of the Cloudflare workers.
Code example
const webpage = await fetch('https://example.com');
const html = await webpage.text();
const content = cheerio.load(html);
const anchors = content('a')
const links = [];
for(const anchor of anchors){
const link = content(anchor);
/**
* We do some additional validation, normalisation
* and processing before giving you the results
* but structure is same.
*/
links.push({
link: link.props('href'),
label: link.text().toString(),
})
}
Change log
03 – April – 2026
- Improved UI and error handling.
- New “Resolved URL” column to show final URL
Related SEO Tools
Broken link checker
Check broken links on your website
Event Schema Markup Generator
Simplified event markup generator for improved search engine visibility based on Google's minimum event schema requirements.
Extract Headings
Extract all headings from a webpage and view them as a hierarchical document outline.
Extract images
Extract all images from a webpage along with srcset URLs.
Extract links
Extract links from a webpage.
FAQ Schema Markup Generator
Generate JSON-LD schema markup for FAQ.
Is Indexable
Check if a webpage is indexable by search engines.
Sitemap to CSV
Convert XML sitemaps to CSV format for easier analysis. Extract URLs, last modification dates, change frequency, and priority values.
UTM param builder
Create trackable URLs by appending and modifying UTM parameters. This tool helps marketers, developers, and product managers generate precise links to monitor the effectiveness of their traffic sources in analytics platforms.
Website meta tags checker
Analyze website meta tags, including titles, descriptions, and Open Graph data, to optimize your SEO.