🔗 Extract URLs - Find and extract URLs from text

📝
Lines: {{ inputText.split('\n').length }} | Characters: {{ inputText.length }}
🎯
Enter scheme names without ://
⚙️
{{ contextLength }} characters
🔗
{{ urlData.url }} {{ urlData.scheme }}
Line {{ urlData.line }} • Position {{ urlData.position }}
{{ urlData.context }}
📊
Extraction Results:
Total Found: {{ stats.extraction.totalFound }}
Unique URLs: {{ stats.extraction.uniqueUrls }}
Duplicates Removed: {{ stats.extraction.duplicatesRemoved }}
Mode: {{ stats.extraction.extractionMode }}
Schemes Found:
{{ scheme }}: {{ count }}
⏳ Processing text...
🔍 No URLs found in the provided text.
⚠️ {{ error }}

ℹ️ About Extract URLs

Extract URLs scans pasted text for link-like strings and returns a clean list with scheme, line, position, optional surrounding context, duplicate removal, and sorting. Use it for log review, content migration, link inventories, incident notes, scraped text, or any document where URLs need to be pulled into a separate list.

URL extraction is based on the generic URI structure described by RFC 3986: a scheme such as https, an authority or host when the scheme uses one, then path, query, and fragment components. Browser URL behavior is also shaped by the WHATWG URL Standard, and registered URI schemes are tracked by the IANA URI Schemes registry.

Useful examples:

  • Extract https://example.com/report?tag=security#summary from a ticket, chat export, or Markdown document.
  • Filter a mixed log down to only https:// URLs before sharing a review list.
  • Collect ftp://files.example.net/archive.zip or custom internal schemes such as git:// and ssh://.
  • Turn unstructured text into one URL per line for spreadsheet import, allowlist review, or link-checking tools.

Extraction modes:

  • All Schemes: Detects a curated set of scheme-style links that use ://, including HTTP, HTTPS, FTP, SFTP, SSH, Git, file, and selected application schemes, plus bare www. domains.
  • HTTP/HTTPS: Keeps web links only, which is useful for audits, redirects, and content checks.
  • HTTPS Only: Filters to TLS-protected web URLs when plain HTTP links should be excluded.
  • FTP: Finds FTP and FTPS file-transfer URLs.
  • Custom Schemes: Accepts comma-separated schemes for internal protocols or application links.

Output details:

  • Case-insensitive duplicate removal so repeated links collapse to one result.
  • Optional alphabetical sorting for stable comparison and review workflows.
  • Context snippets to show the surrounding sentence, log entry, or markup where each URL appeared.
  • Line number, character position, total found, unique count, duplicate count, and scheme statistics.

Limitations:

  • This is a text extractor, not a network scanner. It does not open links, check reputation, follow redirects, or verify that a host exists.
  • Malformed URLs embedded in punctuation or unusual markup may need manual cleanup after extraction.
  • Some valid URI forms without ://, such as many mailto: and magnet: references, may need a purpose-built parser.
  • Relative references such as /docs/start are not full URLs without a base URL, so they are not treated the same as absolute links.
  • Credentials, API tokens, and signed URLs can appear inside copied text. Review sensitive results before sharing an export.

API Usage Example:

POST /api/tools/text/extract-urls
Content-Type: application/json

{
    "text": "Visit https://example.com and http://github.com today",
    "extractionMode": "all",
    "customSchemes": "",
    "removeDuplicates": true,
    "sortResults": false,
    "includeContext": false,
    "contextLength": 30
}
Ready