URL Encoder / Decoder

Mode:

Decoded (Plain Text)

Type here to encode → (respects mode)
Byte / UTF‑8 inspector
Bytes:
68 74 74 70 73 3A 2F 2F 6F 6E 6C 69 6E 65 74 65 78 74 6C 61 62 2E 63 6F 6D 2F 3F 71 75 65 72 79 3D 68 65 6C 6C 6F 20 77 6F 72 6C 64 26 73 70 65 63 69 61 6C 3D 2F 40
Percent form:
%68%74%74%70%73%3A%2F%2F%6F%6E%6C%69%6E%65%74%65%78%74%6C%61%62%2E%63%6F%6D%2F%3F%71%75%65%72%79%3D%68%65%6C%6C%6F%20%77%6F%72%6C%64%26%73%70%65%63%69%61%6C%3D%2F%40

Encoded (URL‑safe)

Paste encoded text here to decode ←
Normalized: https%3A%2F%2Fonlinetextlab.com%2F%3Fquery%3Dhello%20world%26special%3D%2F%40

URL breakdown (from Decoded pane)

Protocol: https:
Host: onlinetextlab.com
Port:
Path: /
Query: ?query=hello%20world&special=/@
Hash:

Query parameters (editable)

KeyValue (decoded)Value (encoded)
queryhello worldhello+world
special/@%2F%40
Copy query string
Tips & modes
  • URI: good for full URLs (keeps /?:@&=+$,# where valid).
  • URIComponent: strict for individual parts like path segments or query keys.
  • Query Value (+): encodes spaces as + for x‑www‑form‑urlencoded values.
  • RFC 3986: component encode with unreserved ~; forces !*'() to percent‑form.
  • Batch lines: treat each line as a separate item to encode/decode.
  • Keep “/”: preserves slashes even when using component‑level modes.
  • Normalized: uppercases hex digits in %XX sequences for consistency.
TL;DR — paste, pick a mode, copy the encoded or decoded result

This free URL encoder/decoder supports URI, URIComponent, Query Value (+), and RFC 3986 modes. Use Batch lines for lists, preserve slashes when needed, normalize percent case, inspect UTF‑8 bytes, and view a quick URL breakdown with query parameters. Everything runs locally in your browser.

URL Encoder / Decoder — multi‑mode (URI, URIComponent, + for spaces, RFC 3986) with byte inspector & query table

Need to decode a URL full of %20, %2F, and %26? Or make a value safe for a query string without breaking the link? This tool gives you accurate, standards‑compliant percent‑encoding and decoding with four practical modes. Choose URI for whole links, URIComponent for individual parts, Query Value (+) for HTML form style spaces, or RFC 3986 for strict, predictable component encoding. As you type, the opposite pane updates instantly (you can turn auto‑sync off if you prefer manual control).

Beyond the basics, there’s power when you need it: a Batch lines switch to process lists line‑by‑line, a Keep “/” option to preserve slashes in component encodes, and Normalized output that uppercases hex digits in %XXsequences for cleaner diffs and reviews. The Byte / UTF‑8 inspector reveals raw bytes and percent forms—a quick way to verify multibyte characters. If you paste a full link into the Decoded pane, the app shows a URL breakdown (protocol, host, path, query, hash) and a query parameter table so you can see decoded values alongside their encoded forms.

It’s all client‑side for speed and privacy—no uploads, no accounts. One‑click Copy sits on both panes, and handy Swap/Clear buttons streamline repetitive tasks. Whether you’re building query strings, debugging redirects, preparing HTTP links, or cleaning web‑form input, this is the compact utility you’ll keep pinned in your toolbox.

How to use the URL Encoder / Decoder

  1. Pick a mode: URI for whole URLs; URIComponent for parts; Query Value (+) for form values; RFC 3986 for strict component encoding.
  2. Paste or type: Use the Decoded pane to encode, or the Encoded pane to decode. With Auto‑sync on, the opposite side updates instantly.
  3. Adjust options: Turn on Batch lines for lists, enable Keep “/” to preserve slashes, and check the Normalized result for uppercase percent sequences.
  4. Inspect details (optional): Expand the Byte / UTF‑8 inspector to see raw bytes and percent forms. If a full URL is present, review its breakdown and the query parameter table.
  5. Copy or swap: Copy with one click, Swap sides to invert direction, or Clear both panes to start fresh.

Key features

  • Encode/decode with four modes: URI, URIComponent, Query Value (+), RFC 3986
  • Batch lines to process each line separately
  • Keep “/” unencoded for readable paths when needed
  • Percent normalization (uppercase %XX) for consistent diffs
  • UTF‑8 byte inspector with percent‑form preview
  • Automatic URL breakdown: protocol, host, port, path, query, hash
  • Query parameter table with decoded and encoded views
  • Swap & Clear utilities plus one‑click Copy on both panes
  • Instant, client‑side operation — private and fast

Tips

  • Use URI for entire links; use URIComponent for parts like query values or path segments.
  • Choose Query Value (+) when working with HTML form data (spaces as +).
  • Turn on Batch lines to convert a list without touching formatting.
  • “Keep /” is useful when encoding path segments but you still want slash separators.
  • If decoding fails, look at the error index and the Normalized output to spot stray % or mixed encodings.
  • Use the byte inspector to verify UTF‑8 boundaries for non‑ASCII characters.

Frequently asked questions

encodeURI vs encodeURIComponent — which should I pick?
encodeURI is designed for entire URLs and leaves reserved separators (like / ? & =) intact. encodeURIComponent is for individual parts such as a query value or a path segment; it encodes separators so they cannot break the URL structure.
When do spaces become + instead of %20?
The application/x‑www‑form‑urlencoded format (used by HTML forms) encodes spaces as +. Standard percent‑encoding encodes spaces as %20. Use Query Value (+) mode when you need the form behavior.
What does RFC 3986 mode change?
It enforces spec‑aligned component encoding: it keeps ~ unencoded and percent‑encodes characters like ! * ' ( ). Many APIs prefer this predictable output.
How does the Normalized output help?
It uppercases the hex digits in percent sequences (%2f%2F), which makes diffs consistent and helps spot mixed or duplicated encodings.
Can I inspect bytes for non‑ASCII characters?
Yes—the Byte / UTF‑8 inspector shows raw bytes and a percent form, so you can confirm multibyte sequences and diagnose encoding issues quickly.
Is any data uploaded?
No—everything runs in your browser, and nothing is sent to a server.

Related tools

Base64 Encoder / Decoder · JSON Formatter · URL Parser

Last updated: Aug 25, 2025