You can extract hyperlinks from Word in bulk by reading one modern .docx document's external hyperlink relationships and exporting the unique http, https, and mailto destinations as a TXT list.
Here, “bulk” means many hyperlinks inside a single Word document, not batch-processing a collection of files. The supported workflow handles one .docx at a time and focuses on external destinations rather than every clickable object Word can display.
The Word Hyperlink Extractor performs that focused task. It reads the selected package locally, so the file remains in your browser and no document text, pages, comments, or macros are sent to a service.

What bulk Word link extraction covers
Copying visible text can be slow and can miss a destination attached to an image or a short phrase. It can also mistake ordinary text that resembles a URL for an actual Word hyperlink. A relationship-based extractor avoids that uncertainty by working with the hyperlink metadata stored inside the .docx package.
Each returned line represents a distinct external destination. The output is designed for link inventories, source checks, template audits, reference collection, and concise handoff lists.
| Word item or target | Result | What to expect |
|---|---|---|
| External http, https, or mailto hyperlink relationship | Included | The supported target is normalized and listed. |
| The same destination used more than once | Deduplicated | Only one copy of that destination appears. |
| Internal heading or bookmark | Excluded | It is not treated as an external URL. |
| Relative target or file-system path | Excluded | The result stays limited to external destinations. |
| Malformed value or JavaScript-style URL | Excluded | Only http, https, and mailto forms are returned. |
| Visible URL typed as ordinary text | Not extracted | Plain text is not a Word hyperlink relationship. |
| Anchor text and page location | Not included | Consult the original document for context. |
In this workflow, “safe destinations” means supported external URL forms, not a judgment that a website is secure, live, or appropriate to visit. Every listed address remains a document-supplied string that needs review.
How to extract links from a Word document
Use the following workflow to create a destination list without sending the document to a remote service:
- Choose one .docx Word document from your device. Open the Word Hyperlink Extractor and use the file picker to select a modern Word file. The documented input is one .docx document at a time; old .doc files are outside the tool's scope. Selecting a file gives the browser access to the package for local processing rather than uploading it to a service.
- Wait while the browser reads the external hyperlink relationships. The browser checks the document package before unpacking it and then reads the relevant relationship XML only after you select the file. It identifies external hyperlink entries, decodes their XML entities, normalizes supported URL targets, and removes duplicates. It never follows or opens the destinations during this stage.
- Review the destinations and download the TXT report. Check the supported external links displayed in the page, then download the plain-text report. The file contains one URL per line, making it suitable for pasting into a spreadsheet, URL checker, or another local text workflow. Keep the original .docx beside the report when anchor text or document context matters.
The output is a TXT download, not a spreadsheet export. Because repeated targets are removed, the report is best understood as a list of distinct external destinations rather than a count of every hyperlink occurrence in the document.
Why Word stores links as relationships
A .docx document is a ZIP-based Office Open XML package. Rather than keeping every external link as plainly visible body text, Word can store it as a relationship entry containing a relationship type, an external target mode, and a destination. This packaging model is described in Microsoft's Open XML documentation and standardized in ECMA-376.
The extractor reads the relationship part at word/_rels/document.xml.rels. It keeps entries whose type identifies a hyperlink and whose target mode is external, then limits the final list to http, https, and mailto destinations. XML entities are decoded, supported targets are normalized, and duplicate destinations are removed.
This approach is deliberately conservative. Reading the relationship file allows the tool to include destinations attached to short phrases or images without guessing from visible text. It also avoids presenting an internal heading or a relative file reference as though it were an external web address. However, a relationship target is not a complete audit of every interactive feature in Word.
What the TXT report does not contain
The report answers one narrow question: which distinct supported external hyperlink destinations are recorded for the document? It does not reproduce the document around those links.
- No anchor text or page location: A destination may appear without the label readers saw in Word, and the report does not show which page contained it.
- No formatting or paragraph context: Bold text, surrounding sentences, footnotes, and the original hyperlink appearance remain only in the original document.
- No internal anchors: Headings, bookmarks, and other internally anchored links are intentionally excluded.
- No local or relative targets: File-system paths and relative references are excluded because treating them as external URLs would be misleading.
- No unsafe or malformed protocols: JavaScript-style addresses, malformed values, and protocols outside http, https, and mailto are not returned.
- No complete model of embedded behavior: Fields, citation managers, shapes, mail merges, embedded objects, and links in another document part can have behavior outside this focused relationship-file reader.
The file-format scope is also limited. Encrypted packages are excluded, malformed archives are rejected, and the browser refuses oversized relationship XML, unsupported ZIP64 directory records, and packages that exceed its stated local limits before showing a result.
The extractor is not a crawler. It does not visit destinations, resolve redirects, determine whether a site is live, inspect a mail recipient, judge a domain's reputation, or decide whether an address is safe to open. It also cannot detect ordinary document text that merely looks like a URL.
A reliable workflow for reviewing extracted destinations
Use the TXT list as an inventory, not as permission to skip review. A practical process keeps the source document available and separates extraction from destination checking.
- Preserve the original .docx. Retain the source so you can compare each listed destination with its visible anchor, surrounding paragraph, and publishing context.
- Download the TXT report. Keep the one-link-per-line file as the reproducible list of distinct targets returned by the extractor.
- Compare the list with the visible document. Look for destinations that need context, confirm that important links are represented, and note clickable behavior that may fall outside the relationship file.
- Check important URLs with an approved separate process. The TXT can be pasted into a URL checker or another local workflow, but that separate review does not change what the extractor itself does.
- Record the extraction scope. Note that the report covers supported external relationships in a modern .docx package, not internal links, plain-text URLs, or every interactive object.
This process works well before publishing a report, auditing a reusable template, collecting references from another team, or preparing a handoff list. It is also useful when a destination is hidden behind an image, citation, button-like object, or short phrase that is difficult to collect by copying visible text.
Where a destination-only report fits
| Review goal | Useful part of the output | Context to retain separately |
|---|---|---|
| Pre-publication source check | A distinct list of external destinations to compare with the source and publishing requirements. | The original document and its visible source references. |
| Template audit | A compact inventory of supported external links stored in the template. | The template's anchor text, locations, and formatting. |
| Team handoff | A TXT list that can be pasted into a spreadsheet, checker, or local text process. | The original file so recipients can recover each link's context. |
For a bulk review, treat the report as a clean inventory of safe-protocol external relationship targets. Do not use it as proof that every visible URL is active, that every clickable object was captured, or that a listed destination is trustworthy. The strongest workflow combines the extracted list with the unchanged .docx and a separate, approved review of the destinations that matter.
Related reading: Extract Numbers from Text in Python: A Practical Guide.
Related reading: List Randomizer for Bulk Lists: Fair Local Shuffling.