The Link Extractor turns any saved LinkedIn page's HTML into a deduplicated list of profile and contact URLs you can paste straight into Excel, with relative hrefs resolved when you supply the page's base URL. The whole workflow runs locally in your browser tab: paste the HTML, optionally paste the page URL, run the extraction, copy the one-URL-per-line result, and drop it into a single Excel column. The tool never logs into LinkedIn, calls its API, or requests any of the URLs it discovers, so the parser itself adds zero requests to LinkedIn's servers and the only network activity is what you do afterward in your own browser. Two practical limits shape the result: input is capped at 200,000 characters per paste, and the parser reads static source rather than rendered DOM, so links inserted by JavaScript after the page loads will not be in your HTML yet. Used on HTML you are authorized to inspect, the tool produces the front half of a contact pipeline — a clean URL inventory — leaving enrichment and verification as separate, deliberate steps.

how to extract linkedin contacts to excel
how to extract linkedin contacts to excel

The Link Extractor reads an HTML document you paste in, finds every href attribute on anchor, area, and link start tags, and returns one deduplicated URL per line that you can paste into Excel. It does not log into LinkedIn, call its API, or request any of the URLs it discovers. When you provide the LinkedIn page URL as a base, relative paths such as /in/jane-doe are resolved into absolute addresses like https://www.linkedin.com/in/jane-doe. Without a base, relative values are kept relative so the output never invents a host.

The honest scope matters here: this workflow extracts link targets, not contact records. You will end up with a clean list of profile, search, mailto, and telephone URLs, not a spreadsheet of names, titles, and email addresses. If you need those fields, you pair this URL list with an authorized enrichment step such as opening each profile yourself or using LinkedIn's official data export. The Link Extractor's job is the front of that pipeline: producing a reliable inventory of addresses you can paste into a column.

Because everything happens in the browser tab, your HTML and the resulting list never leave your machine. There is no upload step, no account, and no request sent to any of the URLs the parser discovers.

Source and Permission Considerations

Only paste HTML you have the right to inspect. That includes pages you have already saved from your own browser session, your own LinkedIn data export, public profile pages you have permission to audit, or HTML produced by your own crawler running against an authorized scope. Do not paste HTML harvested by breaking LinkedIn's User Agreement, scraping behind a login wall without permission, or circumventing technical access controls. The tool will happily parse whatever source you give it, so the responsibility for what you paste stays with you.

Two practicalities often trip people up. First, the input is capped at 200,000 characters, which is enough for most saved LinkedIn pages but not for a large saved session. If your HTML is larger, split it or use a controlled crawler that respects the cap. Second, dynamic links that LinkedIn inserts after JavaScript runs will not be present in static source. Saving the page after scripts have executed (or exporting the rendered DOM) is the only way to capture them; this is a parser that reads source, not a headless browser.

Extract LinkedIn Profile URLs to Excel: Step by Step

  1. Open the LinkedIn page you have authorization to inspect and save its source: in most desktop browsers that is Ctrl+U (or Cmd+Option+U on macOS), then Ctrl+A and Ctrl+C to copy the entire HTML document.
  2. Open the Link Extractor tool in a new tab and paste the HTML into the source field.
  3. Copy the page's address bar URL and paste it into the base URL field. For a feed, search result, or directory page that uses root-relative paths, use the full https://www.linkedin.com/... address.
  4. Run the extraction. The result area shows the count of unique targets, duplicates that were merged, and values that were skipped because they were empty, fragments, executable schemes, or invalid URLs.
  5. Review the one-URL-per-line output. Verify that the expected https://www.linkedin.com/in/... profiles are present, and confirm that javascript:, data:, and vbscript: targets have been filtered out.
  6. Click the copy button and paste the list into a single Excel column, starting at A1. From there you can sort, filter, or use Text to Columns if you need to split a combined string later.

LinkedIn pages contain several kinds of link-bearing tags. The tool scans all three, because its job is a source inventory rather than a navigation analysis. The table below summarizes what each tag typically carries on LinkedIn HTML and how the parser treats it.

Start tagTypical LinkedIn useParser behavior
<a href>Profile links, search result rows, mailto and tel contacts, action buttonsKept (mailto and tel included), deduplicated after normalization
<area href>Image map regions (rare on LinkedIn, but appears in legacy pages)Kept and deduplicated along with the rest
<link href>Canonical, alternate, preload, stylesheet, icon references in <head>Kept as part of the inventory; the tool does not label rel meaning

The parser removes comments and raw-text containers such as script, style, textarea, title, iframe, noembed, and noframes before scanning, which prevents strings that merely look like anchor markup inside JavaScript or template literals from being mistaken for real links. It also skips empty values, same-document fragments (for example #comments), and targets that use executable or embedded-data schemes such as javascript:, data:, and vbscript:. The skipped count is surfaced in the result so an apparently short list does not hide the filtering decision.

Target shapeExampleOutcome
Absolute web URLhttps://www.linkedin.com/in/jane-doeKept as-is
Root-relative path with base/in/jane-doe + base https://www.linkedin.com/feed/Resolved to https://www.linkedin.com/in/jane-doe
Path-relative with base../in/jane-doe + base https://www.linkedin.com/feed/news/Resolved to https://www.linkedin.com/feed/in/jane-doe
mailto or telmailto:[email protected]Kept (legitimate link destination)
Same-document fragment#commentsSkipped
Executable or data schemejavascript:void(0), data:text/html,...Skipped
Empty hrefhref=""Skipped
Invalid absolute URLhttps://example .com/badSkipped

Pasting the List Into Excel

Once the one-URL-per-line output is on your clipboard, open a new or existing workbook and click a single cell, usually A1, before pasting. Excel places each line into its own row of column A, which is the easiest shape to filter and sort. If you would rather separate the domain from the path first, Excel's Data → Text to Columns wizard can split on / or on the protocol colon, although for most outreach workflows the full URL in one column is fine.

A common refinement is to add helper columns next to the URL list: a status column you fill in manually or with an authorized HTTP checker, a notes column for personal tags, and an outreach-state column for tracking follow-ups. The Link Extractor output is the inventory; the workbook is where you turn that inventory into a working contact pipeline. If you are also pulling link targets out of saved Excel hyperlinks, the same parser approach works on the HTML stored inside .xlsx files, as described in this guide to extracting links from Excel hyperlinks via HTML source.

After Extraction: Verifying Each URL

The exported list is an inventory, not a health report. A LinkedIn URL on the list may redirect to a login wall, return an error, require authentication, be blocked by LinkedIn's automation controls, or intentionally point off-platform. The parser does not label internal versus external links, test HTTP status codes, evaluate rel attributes, or judge SEO quality, so for any of those facts you need a separate authorized check.

Two checks matter most in practice. First, run each URL through an HTTP status tool to confirm it still resolves and to spot redirects or soft-404 patterns. Second, open a sample of profiles manually so you understand which targets still exist and which have been deleted, made private, or renamed. Only after those passes is the URL list ready for the next stage of your pipeline, whether that is manual outreach, a CRM import, or a research project.