Back to Developer Tools
Free Online URL Inspector & Query Studio

URL Parser & Query String Analyzer

Decompose any URL into standard RFC 3986 components (Protocol, Host, Port, Path, Query Parameters, Hash Fragment), edit query parameters interactively, and export to JSON or cURL.

Quick Summary:

TL;DR: Enter any full or partial URL below to dissect every part in real time. 100% Client-Side in your browser without sending URLs or credentials to any server. Features an interactive query parameter builder, UTM cleaner, and JSON export.

Open Link
0 Characters

Parsed URL Components

Standard URL API
Protocol-
Origin-
Hostname-
Host (Host:Port)-
Port-
Pathname-
Search (Query)
Hash (Fragment)-
Username-
Password-

Path Segments Hierarchy

0 segments
No path segments detected yet.

URL Metadata & Security

Protocol Status: -
Host Classification:-
Default IANA Port:-
Total Query Params:0

Query String Parameters Studio

Edit, add, sort, or strip query parameters with real-time sync

0 Parameters
#Key (Parameter Name)ValueAction
No query parameters found on this URL. Click "Add Parameter" to insert one.
Reconstructed URL (Live Synchronized):
-

Parsed URL Object (JSON Data)

{}

Complete Guide: Parsing URLs & Query Strings Online

Key Takeaways: URL Parser decomposes any URI string into standard RFC 3986 components (Protocol, Host, Path, Query, Hash). Use the interactive query parameter editor to add, tweak values, or strip tracking parameters (such as UTMs) with immediate live URL sync.

Follow these simple steps to inspect, debug, and modify URL components safely in InfoKoding:

  1. Paste or Type Your URL:Enter the target link into the input textarea. If a protocol is omitted (e.g. infokoding.com/tools), our tool automatically assumes https:// for you.
  2. Inspect Individual Components:Review the separated Scheme, Hostname, Port, Path, and Hash in the breakdown table and interactive visual strip.
  3. Manage & Edit Query Parameters:Edit parameter values in real time, add new key-value pairs, or sort parameters A-Z. The reconstructed URL updates instantly.
  4. Export & Copy:Copy individual values, full reconstructed URLs, JSON metadata, or formatted cURL commands with a single click.

URL Anatomy & Syntax Structure (RFC 3986)

According to the IETF RFC 3986 (Uniform Resource Identifier: Generic Syntax) standard, a URL consists of five core components organized in a hierarchical format:

// Generic URL Syntax Format:
URI = scheme ":" ["//" authority] path ["?" query] ["#" fragment]
authority = [userinfo "@"] host [":" port]

1. Scheme / Protocol

Defines the communication protocol used by client programs to access network resources. Examples: https (TLS encrypted), http, ftp, ws, wss, or mailto.

2. Authority & Userinfo

Encompasses the target domain/IP address and optional HTTP basic authentication credentials in the format username:password@hostname:port.

3. Path (Resource Route)

Hierarchical file system directory structure directing browsers to specific web pages or backend API endpoints, separated by slashes /.

4. Query String (Parameters)

Non-hierarchical variable key-value pairs introduced by a question mark ? and separated by ampersands & used for filtering, pagination, and tracking.

In-Depth Comparison: URI vs URL vs URN

Developers often confuse URI, URL, and URN. According to W3C & IETF internet standards, their relationship is defined as: All URLs and URNs are URIs, but not all URIs are URLs.

1. URI (Identifier)

Uniform Resource Identifier is the umbrella superset identifying any abstract or physical resource (by location, name, or both).

Formula: URI = URL | URN
2. URL (Locator)

Uniform Resource Locator is a specific subset of URI specifying physical network location and access protocol.

Example: https://infokoding.com
3. URN (Name)

Uniform Resource Name is a subset of URI providing a permanent, persistent unique identifier without location or protocol.

Example: urn:isbn:978-0-13-475759-9
CharacteristicURIURLURN
Primary RoleIdentifies resource identityLocates resource & access protocolNames resource persistently
Includes Protocol?OptionalRequired (http, https, ftp)No (uses urn: scheme)
Location ResilienceSubtype dependentBreaks if domain/path changes (404)Permanent over time
Real-World Samplemailto:dev@infokoding.comhttps://infokoding.com/toolsurn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8

Reserved Characters Reference Table (ASCII vs Hex Percent-Encoding)

Reserved characters have syntactic meaning in RFC 3986. When used as literal data within query strings or path parameters, they must be percent-encoded in hexadecimal format:

ASCII CharacterHex EncodedRFC 3986 ClassSyntactic Role in URLs
:%3AGen-delimsScheme protocol & port delimiter.
/%2FGen-delimsPath segment separator.
?%3FGen-delimsQuery string parameter delimiter.
#%23Gen-delimsClient fragment anchor delimiter.
[ ]%5B %5DGen-delimsIPv6 host literal wrappers.
@%40Gen-delimsUserinfo credentials separator.
&%26Sub-delimsQuery parameter separator (key=val&key2=val2).
=%3DSub-delimsQuery key-value assignment operator.
+%2BSub-delimsPlus literal or application/x-www-form-urlencoded space.
Space%20Unsafe CharStandard space character in URLs.

Common URI Schemes & Default Ports

When port numbers are not explicitly specified, HTTP clients and web browsers automatically resolve these standard IANA registered defaults:

Scheme / ProtocolDefault PortEncryption LevelPurpose & Description
http://80Plaintext (Unencrypted)Standard unencrypted web communication.
https://443TLS/SSL (Secure)Industry standard encrypted website communications.
ws:// / wss://80 / 443WSS uses TLSBi-directional full-duplex WebSocket connections.
ftp:// / sftp://21 / 22SFTP via SSH (Port 22)File Transfer Protocol for managing remote server files.
ssh://22SSH AuthenticatedSecure remote terminal access & Git repositories.

Programmatic URL Parsing Examples

Official syntax for parsing and manipulating URLs across popular programming languages:

JavaScript (Browser & Node.js) URL API Standard
const parsed = new URL("https://infokoding.com/search?q=php#top");

console.log(parsed.hostname); // "infokoding.com"
console.log(parsed.pathname); // "/search"
console.log(parsed.searchParams.get('q')); // "php"
console.log(parsed.hash);     // "#top"
PHP (parse_url & parse_str) Native PHP Core
$url = "https://infokoding.com/search?q=php#top";
$parts = parse_url($url);

// ['scheme' => 'https', 'host' => 'infokoding.com', ...]
parse_str($parts['query'] ?? '', $queryParams);
echo $queryParams['q']; // "php"
Python (urllib.parse) Standard Library
from urllib.parse import urlparse, parse_qs

url = "https://infokoding.com/search?q=php#top"
result = urlparse(url)
params = parse_qs(result.query)

print(result.netloc) # "infokoding.com"
print(params['q'][0]) # "php"
Go (net/url) Standard Package
import "net/url"

u, err := url.Parse("https://infokoding.com/search?q=php#top")
if err == nil {
    q := u.Query()
    println(u.Hostname()) // "infokoding.com"
    println(q.Get("q"))   // "php"
}

FAQ: Common Questions on URL Parsing & Query Strings

What is the difference between Host and Hostname in a URL?

Hostname represents only the domain name or IP address without a port number (e.g. infokoding.com or 127.0.0.1). Host includes both the domain name and the custom port number if explicitly specified (e.g. infokoding.com:8080 or localhost:3000).

What are the main differences between URI, URL, and URN?

URI (Identifier) is the umbrella identifier for any resource. URL (Locator) is a URI that specifies physical server location and access protocol (e.g. https://infokoding.com). URN (Name) is a URI that assigns a permanent, persistent unique name without defining physical location or access protocol (e.g. urn:isbn:978-0-13-475759-9).

Why is https:// automatically appended when I omit the scheme?

The standard browser URL Web API requires a valid URI scheme to parse authority and host components. Our parser intelligently defaults to https:// in the background so you can paste plain domains without syntax errors.

Why is the hash fragment (#) not sent to backend web servers?

According to RFC specifications, the fragment identifier # is strictly a client-side directive used by web browsers for document scrolling or Single Page Application (SPA) routing. Browsers strip the fragment before sending HTTP request packets to the server.

Why do special characters in URLs need to be percent-encoded (%)?

Characters like &, =, ?, and / serve as syntactic delimiters in RFC 3986. When used as literal data inside query values, percent-encoding transforms them into hexadecimal notation (such as %26 for &) preventing servers from misinterpreting parameter boundaries.