100% local processing — your files and data never leave this browser. No uploads, no server storage.

OnboxTools

Free · Browser-only · No upload

Percent-encode and decode URLs

Safe query strings and path segments

Encode reserved characters for URLs and query parameters, or decode percent-sequences back to readable text. Helpful when debugging redirects, webhooks, and form submissions.

Choose component encoding (encodeURIComponent) or full URI rules depending on what you are building. Processing is local only.

Conversion mode

Encoding scope

Text to encode
Encoded output
Active modeEncoding
ScopeComponent
Size change

More Text Utilities

🔓
Base64 Decoder
🧬
Base64 Encoder
🔡
Case Converter
Cron Generator
🎨
CSS Minifier
📐
CSS Unminifier
📆
Date Format Converter
📅
Date to Unix
🔎
Find and Replace
🛡️
HTML Escape
📰
HTML Minifier
↩️
HTML to Markdown
🔓
HTML Unescape
📄
HTML Unminifier
📋
Markdown Preview
🔄
Markdown to HTML
🎲
Random Number
🔤
Random String
🔍
Regex Tester
🧹
Remove All Whitespace
↩️
Reverse Text
✂️
Split String
⚖️
Text Compare
🔁
Text Repeater
📖
Text Viewer
🌍
Time Zone Converter
🕐
Unix Time to Date
🔗
URL Encoder
🔤
UTF-8 Decoder
🌐
UTF-8 Encoder
📊
Word Counter

Browse by category

Complete guide

Why URL encoding exists

URLs allow only a limited set of characters unescaped. Spaces, ampersands, unicode letters, and binary bytes must become percent-encoded %XX sequences.

Without encoding, query parsers break on ampersands in values and servers misread spaces as delimiters.

Decoding reveals what a server actually received after a client or framework transformed the string.

encodeURI vs encodeURIComponent

encodeURI leaves reserved characters that structure the URL (/, ?, #) intact while encoding unsafe text—useful for whole links.

encodeURIComponent encodes nearly everything, which is what you want for a single query value or form field.

Decoding with the wrong function can leave stray % sequences or over-decode path slashes.

Debugging real requests

Copy encoded query strings from browser devtools or server logs, decode here, and compare to the intended parameter map.

Double encoding happens when an already-encoded value is encoded again—watch for %25 (percent) appearing in output.

Plus signs in query strings historically meant space; some frameworks still translate + to space on decode.

International characters

UTF-8 bytes appear as percent-encoded UTF-8, not as raw Unicode code points in the URL.

IDN hostnames use punycode in the wire format; this tool focuses on path and query text, not DNS conversion.

Safety

Encoded phishing links hide readable domains until decoded—inspect suspicious URLs in a sandbox before visiting.

Never paste live session tokens into shared screens; decoding exposes secrets in plain text.

Related tools

HTML entity encoder handles < in markup; URL encoder handles %20 in addresses.

Base64 is a different transport layer—some APIs nest both encodings on the same field.

Detailed guide

Encoding one query parameter

Encode only the value (encodeURIComponent), then assemble key=value& manually. Encoding the entire URL with component rules can break slashes.

Spaces become %20 in modern APIs; avoid raw spaces in production URLs.

Fixing double-encoded redirects

If you see %2520, decode once and check whether your framework encodes on output again.

Align server and client: either pass decoded values internally and encode once at the edge, or document the contract.

Common questions

URL Encoder FAQ

Should I encode the full URL or just the query?

Usually encode individual parameter values with encodeURIComponent. Use encodeURI when you must preserve URL structure characters.

Why is space %20 and sometimes +?

application/x-www-form-urlencoded uses + for space in bodies; query strings in URLs prefer %20.

Does it decode %uXXXX sequences?

Legacy %u sequences are non-standard. Modern UTF-8 percent encoding is the expected format.

Can I encode path segments?

Yes, but path rules differ slightly from query rules; encode each segment separately in REST APIs.

Is my URL logged?

No server upload occurs; decoding happens entirely in your browser.

Does the URL Encoder send my input to a server?

Yes. Everything runs in your browser. Your input is not uploaded, logged, or stored on our servers.

Do I need an account?

No account or sign-up is required. Open the page and start using the tool immediately.