URLs-LE: Zero Hassle URL Extraction
Extract 10,000+ URLs per second • 100x faster than manual searching
HTML, CSS, JavaScript, JSON, YAML, XML, TOML, INI, Properties, Markdown, and more
⚡ See It In Action
Before: Manually searching through HTML/CSS for broken links (20 minutes)
<link href="https://cdn.example.com/style.css" />
<img src="https://images.example.com/logo.png" />
<!-- ... 100 more URLs scattered across files -->
After: One command extracts all 103 URLs in 0.5 seconds
https://cdn.example.com/style.css (line 5)
https://images.example.com/logo.png (line 8)
https://api.example.com/users (line 45)
... (103 URLs total)
Time Saved: 20 minutes → 1 second ⚡
✅ Why URLs-LE?
- 10,000+ URLs per second - 100x faster than manual searching
- Zero Config - Install → Press
Cmd+Alt+U → Done
- Battle-Tested - 347 unit tests, 95% coverage, zero critical vulnerabilities
- Security-Hardened - 83 tests prevent URL injection, SSRF attacks, protocol exploitation
Perfect for API audits, link validation, and resource tracking.
🙏 Thank You
If URLs-LE saves you time, a quick rating helps other developers discover it:
⭐ Open VSX • VS Code Marketplace
Key Features
- Automatic cleanup - Sort, dedupe, and filter by protocol or domain
- 10+ file formats - HTML, CSS, JavaScript, JSON, YAML, XML, Markdown, TOML, INI
- Smart filtering - Excludes
data: URIs and javascript: pseudo-protocols
- Fast at scale - Process large documentation and config files efficiently
- 13 languages - English, Chinese, German, Spanish, French, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Ukrainian, Vietnamese
🚀 More from the LE Family
💡 Use Cases
- Web Auditing - Extract all links and resources from HTML/CSS for validation
- API Documentation - Pull API endpoints from docs and code for cataloging
- Link Validation - Find all external URLs for broken link checking
- Resource Tracking - Audit CDN and asset URLs across your project
🚀 Quick Start
- Install from Open VSX or VS Code Marketplace
- Open any supported file type (
Cmd/Ctrl + P → search for "URLs-LE")
- Run Quick Extract (
Cmd+Alt+U / Ctrl+Alt+U / Status Bar)
⚙️ Configuration
URLs-LE has minimal configuration to keep things simple. Most settings are available in VS Code's settings UI under "URLs-LE".
Key settings include:
- Output format preferences (side-by-side, clipboard copy)
- Safety warnings and thresholds for large files
- Notification levels (silent, important, all)
- Status bar visibility
- Local telemetry logging for debugging
For the complete list of available settings, open VS Code Settings and search for "urls-le".
🌍 Language Support
13 languages: English, German, Spanish, French, Indonesian, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Ukrainian, Vietnamese, Chinese (Simplified)
🧩 System Requirements
VS Code 1.70.0+ • Platform Windows, macOS, Linux
Memory 200MB recommended for large files
🔒 Privacy
100% local processing. No data leaves your machine. Optional logging: urls-le.telemetryEnabled
URLs-LE is built for speed and efficiently processes files from 100KB to 30MB+. See detailed benchmarks.
| Format |
File Size |
Throughput |
Duration |
Memory |
Tested On |
| JSON |
1K lines |
1,382,278 |
~1.58 |
< 1MB |
Apple Silicon |
| CSS |
3K lines |
1,048,387 |
~0.31 |
< 1MB |
Apple Silicon |
| HTML |
10K lines |
298,122 |
~4.26 |
< 1MB |
Apple Silicon |
Note: Performance results are based on files containing actual URLs. Files without URLs (like large JSON/CSV data files) are processed much faster but extract 0 URLs.
Real-World Performance: Tested with actual data up to 30MB (practical limit: 1MB warning, 10MB error threshold)
Performance Monitoring: Built-in real-time tracking with configurable thresholds
Full Metrics: docs/PERFORMANCE.md • Test Environment: macOS, Bun 1.2.22, Node 22.x
For detailed information, see Performance Monitoring.
🔧 Troubleshooting
Not detecting URLs?
Ensure file is saved with supported extension (.html, .css, .js, .json, .yaml, .md)
Large files slow?
Files over 10MB may take longer. Consider splitting into smaller chunks
Need help?
Check Issues or enable logging: urls-le.telemetryEnabled: true
❓ FAQ
What URLs are extracted?
HTTP/HTTPS, FTP, mailto, tel, file URLs (excludes data: and javascript: pseudo-protocols)
Can I deduplicate?
Yes, enable urls-le.dedupeEnabled: true to remove duplicates automatically
Max file size?
Up to 30MB. Practical limit: 10MB for optimal performance
Perfect for web projects?
Absolutely! Audit API endpoints, asset references, and external links for broken URLs
📊 Testing
347 unit tests • 95% function coverage, 86% line coverage
Powered by Vitest • Run with bun run test:coverage
Core Principle
No broken or failed tests are allowed in commits. All tests must pass before code can be committed or merged.
Test Suite Highlights
- 83 security tests for URL injection & SSRF prevention
- 71 edge case tests for extraction logic & performance
- 37 tests for JavaScript/TypeScript URL extraction
- 34 tests for content limits, cancellation, and error handling
- Comprehensive coverage of all file formats and protocols
For detailed testing guidelines, see Testing Guidelines.
Copyright © 2025
@OffensiveEdge. All rights reserved.