Regex guide
URL Regex Pattern
URL matching can be simple or extremely strict depending on your goal. This page gives you a practical URL regex for common web addresses.
Suggested pattern
^(https?:\/\/)?([\w-]+\.)+[\w-]{2,}(\/.*)?$
What it matches
https://example.com
example.org/page
Common limitations
- Does not validate every possible URL.
- Does not support every internationalized domain case.
Suggested pattern
^https:\/\/([\w-]+\.)+[\w-]{2,}(\/.*)?$
What it matches
https://example.com
https://docs.example.com/path
Common limitations
- Rejects URLs without protocol.
- Rejects http:// URLs.
Why use a URL regex?
URL regex patterns are commonly used to validate website addresses entered by users in forms, APIs, CMS platforms and configuration files.
They help detect obvious formatting errors before a URL is stored, processed or displayed.
What is a valid URL?
A URL typically contains a protocol such as HTTP or HTTPS, a domain name and optionally a path, query parameters or fragments.
Modern URLs can also contain internationalized domain names, ports and encoded characters, making complete validation more complex than it appears.
HTTP vs HTTPS URL validation
Some applications accept any valid URL, while others require HTTPS for security reasons.
Using a dedicated HTTPS regex can help enforce secure links and prevent users from submitting insecure HTTP addresses.
Should a regex validate URLs completely?
Regex is useful for detecting obvious formatting mistakes, but complete URL validation often requires additional checks.
For example, a regex cannot confirm whether a domain actually exists or whether a web server is reachable.
Common URL validation mistakes
Many URL regex patterns are either too permissive or too restrictive.
A good balance is to accept common real-world URLs while avoiding unnecessary complexity and false negatives.
When to use URL regex validation
URL regex patterns are useful for website submissions, social media profiles, webhook configuration, API settings and link management tools.
They provide quick client-side validation before performing deeper server-side checks.