CorrectionCopy A COMPLETE LIBRARY OF 150 FREE TOOLS ONLINE

URL Encoder & Decoder Online

Encode URLs and URI components into UTF-8 percent-encoding, decode escaped strings, inspect query parameters, compare encodeURIComponent with encodeURI, and handle RFC 3986 or form-style query values without sending your text to a conversion service.

Percent-encode or decode URL textNative browser engine + standards-aware modes
Conversion runs in this browser

Component mode uses encodeURIComponent/decodeURIComponent and is usually the correct choice for a single query parameter value, form value or URL path component.

Paste text, a URL or one component
0 characters0 UTF-8 bytes
Editable result for final adjustments
0 characters0 %XX sequences
Enter text or a URL. Component encoding is selected.

URL breakdown

Paste a complete absolute URL to inspect its scheme, host, port, path, query and fragment.

Parsed query parameters

A URL or query string containing parameters will be decoded into key/value entries here.

Useful next tools

Your encoded or decoded result is ready. Continue with a related developer or link task.

How to encode or decode a URL

1. Choose Encode or DecodeUse Encode to create percent-escaped output, or Decode to restore a percent-encoded string to readable text.
2. Choose the correct URL contextSelect Component for one value, Full URL for a complete URL, RFC 3986 for stricter component escaping, or Form / Query Value when spaces should use +.
3. Convert and use the resultPaste or type the source, press Convert URL / Text when needed, then copy the result or download it as UTF-8 TXT.

URL encoder and decoder for percent-encoding, URI escaping and query strings

This URL encoder and decoder converts readable text into percent-encoded URL data and reverses encoded sequences back to Unicode text. It covers the most common developer searches and tasks around URL encode, URL decode, percent encoding, URI encode, URI decode, URL escape, URL unescape, encodeURIComponent, decodeURIComponent, encodeURI, decodeURI, query parameter decoding and UTF-8 URL characters.

The conversion engine uses built-in browser URL and JavaScript encoding primitives instead of loading an external conversion package. That keeps processing fast for normal text, developer payloads, API parameters, tracking URLs, OAuth or redirect parameters, UTM links, search terms and copied query strings.

Component vs Full URL vs RFC 3986 vs form encoding

ModeBest forImportant behavior
ComponentOne query value, path segment or isolated stringUses encodeURIComponent and encodes structural characters such as & = ? # /.
Full URLAn already structured complete URI/URLUses encodeURI, preserving URI syntax such as protocol separators, query separators and fragments.
RFC 3986 ComponentStrict URI components, signatures and systems expecting RFC 3986-style escapingStarts with encodeURIComponent and additionally percent-encodes ! ' ( ) *.
Form / Query Valueapplication/x-www-form-urlencoded valuesUses URLSearchParams serialization rules, including + for spaces and form-style percent-encoding.
Do not encode a full URL with Component mode unless that whole URL is intentionally being embedded as a value inside another URL. Otherwise characters such as : and / will also be escaped.

What percent-encoding means

Percent-encoding represents a byte as a percent sign followed by two hexadecimal digits. For example, a space is commonly represented as %20, a literal percent sign becomes %25, an ampersand can become %26, and a slash can become %2F when the slash is data rather than a URL path separator. Non-ASCII text is first represented as UTF-8 bytes and those bytes can then appear as multiple %XX sequences.

CharacterCommon percent-encoded formWhy context matters
space%20 or ++ is specifically common in form/query serialization; it is not a universal replacement for spaces in every URI component.
%%25A second encoding pass can turn an existing %20 into %2520.
&%26Encode it inside a query value so it is not mistaken for the next parameter separator.
=%3DEncode it when it belongs inside a value rather than separating a parameter name from its value.
?%3FEncode it inside a component; keep it in a full URL when it introduces the query string.
#%23Encode it when it is data; keep it when it intentionally starts a URL fragment.
/%2FEncode it inside a component but preserve it when it separates path segments in a complete URL.

Query string decoder and URL parameter inspector

The workspace includes a query parameter inspector in addition to basic URL encoding. When the current readable URL or query string contains parameters, the tool parses them as form-style query data, converts + to spaces where appropriate, decodes percent-encoded keys and values, preserves repeated parameter names as separate entries, and shows empty values rather than silently discarding them.

For absolute URLs, the URL breakdown also shows the protocol, hostname, port, path, query string and hash fragment. This is useful for debugging API URLs, analytics links, UTM parameters, redirect URLs, callback URLs, affiliate links and long web addresses without manually separating each section.

Common uses for URL encoding and decoding

API requestsEscape search terms, filter values, redirect targets and other parameters before inserting them into an HTTP request URL.
UTM and tracking linksDecode campaign parameters, referral values and nested destinations so long marketing links become easier to inspect.
OAuth and callback URLsEncode a callback or redirect URL as a component when it needs to be carried inside another authorization URL.
Forms and query valuesUse form/query mode when the expected format follows application/x-www-form-urlencoded rules and spaces are represented with +.
Unicode URLsPercent-encode accented letters, Arabic, Chinese, Japanese, emoji and other Unicode text using UTF-8 browser behavior.
Debugging double encodingIdentify strings such as %2520 or %252F that can indicate a percent sign was encoded during an additional pass.

Accuracy, Unicode and malformed percent sequences

The Component and Full URL decoders intentionally use the browser's strict decodeURIComponent or decodeURI behavior. A malformed escape such as an incomplete % sequence or invalid UTF-8 percent bytes produces a clear error instead of silently claiming a valid decoded result. The form/query mode follows URLSearchParams parsing behavior, which is designed for application/x-www-form-urlencoded query data.

Encoding can also fail if a JavaScript string contains an isolated UTF-16 surrogate rather than a valid Unicode scalar sequence. When supported, this page checks whether text is well-formed before encoding and explains what needs correction instead of exposing a raw browser exception.

Privacy, performance and browser compatibility

The URL text you enter is transformed by page-specific JavaScript in the current browser. This tool does not need an external conversion API, page-specific database or server request to perform the URL encoding or decoding. Copy uses the browser clipboard when permitted, while Download TXT creates a temporary local object URL that is revoked after the download is triggered.

Current Chrome, Edge, Firefox and Safari support the core encoding functions and URLSearchParams APIs used here. Clipboard behavior can depend on HTTPS and browser permissions. There is no arbitrary text-length cap; practical capacity depends on the browser and device memory, so extremely large strings can take longer to encode, decode, count or inspect.

Troubleshooting URL encoding problems

“Malformed percent-encoding” errorCheck for a lone %, incomplete %XX sequence, invalid hex digits or percent bytes that do not form valid UTF-8. Correct the source and convert again.
Full URL became unreadableYou may have used Component mode on an entire URL. Switch to Full URL mode if the protocol, slashes, query separators and fragment should remain structural.
Query value split into extra parametersA value containing & or = was probably inserted without component encoding. Encode the individual value before appending it to the query string.
%2520 appears instead of %20The percent sign in an already encoded value was encoded again. Decode one level or avoid applying an unnecessary second encoding pass.
Plus signs changed to spacesThat is expected in Form / Query Value parsing. Use Component mode when a literal + should remain a plus rather than represent a form-encoded space.
Clipboard copy is blockedThe tool falls back to selecting the output for manual copying. You can also use Download TXT as an alternate output method.

Technical references: MDN percent-encoding, encodeURIComponent, encodeURI, URLSearchParams, and the WHATWG URL Standard.

More Free CorrectionCopy Tools

Continue with active developer, converter, link, data and utility tools selected from the current CorrectionCopy catalog.

Frequently Asked Questions

What is URL encoding or percent-encoding?

URL encoding represents characters as percent-prefixed hexadecimal byte values when those characters need escaping in a particular URL context. Unicode text is represented using UTF-8 bytes before those bytes appear as %XX sequences.

What is the difference between encodeURIComponent and encodeURI?

encodeURIComponent is designed for individual URI components and therefore escapes more structural characters. encodeURI is intended for a complete URI and preserves many characters that give the URL its structure.

Which mode should I use for a query parameter value?

Component mode is usually the correct choice for a single parameter value because it escapes separators such as &, =, ? and # when they are data. Use Form / Query Value when your target specifically expects application/x-www-form-urlencoded serialization.

Why does Form / Query Value use + for spaces?

The application/x-www-form-urlencoded serialization used by URLSearchParams represents spaces as plus signs. Normal URI component encoding commonly represents a space as %20 instead.

What is RFC 3986 Component mode?

It applies encodeURIComponent and then additionally percent-encodes !, apostrophe, parentheses and asterisk. This is useful when another system expects stricter RFC 3986 component escaping.

Can the tool decode Unicode, emoji and non-English URLs?

Yes. Valid UTF-8 percent sequences can decode to Unicode text including accented letters, Arabic, Chinese, Japanese and emoji. Malformed UTF-8 escape sequences are reported rather than presented as a successful strict decode.

Why do I see %25 or %2520?

%25 is the encoded representation of a literal percent sign. A value such as %2520 often indicates that an already encoded %20 sequence was encoded again.

Can this tool parse URL query parameters?

Yes. It detects an absolute URL, a string containing a question mark, or a query-like string and displays decoded parameter names and values, including repeated names and empty values.

Does decoding + always produce a space?

No. A plus sign becomes a space in form/query parsing semantics. Strict decodeURIComponent does not automatically treat + as a space, so use the mode that matches your data source.

Why does decoding fail on a malformed URL string?

Strict JavaScript URI decoders reject incomplete percent escapes and invalid encoded UTF-8 sequences. Fix the broken escape sequence or use Form / Query Value only when the input really follows form/query serialization.

Can I download the encoded or decoded result?

Yes. After a successful conversion, Download TXT saves the current editable output as a UTF-8 text file whose filename begins with correctioncopy.com_.

Is the text uploaded to a server for conversion?

No page-specific server conversion is required. The encoding, decoding and query inspection logic runs in the current browser and this page does not add page-specific public storage for the text you enter.

Is there a URL length or text limit?

The tool does not impose an arbitrary input-length limit. Browser memory and device performance determine practical capacity, and extremely large strings can take longer to process.

Can I use the tool on a phone or tablet?

Yes. The interface is touch-friendly and responsive. Core conversion works in current mobile browsers, while clipboard and download behavior can vary with browser permissions and operating-system rules.