Encode ↔ decode URL-formatted strings
Percent-encode and decode strings locally in your browser with instant copy

Encode/decode URL-formatted strings helps you convert text to and from URL percent-encoding. It is especially useful when you are working with query strings, path segments, or copy-pasting values between tools.
If a URL looks “broken” because it contains a lot of sequences, decoding it is usually the first step. If a value contains spaces, ampersands, or non-ASCII characters, encoding it is usually the safer step.
Who typically uses this?
For related tools, you might like Base64 String Encoder/Decoder (for safe transport of arbitrary bytes), Hash Text (for checksums), or Token Generator (for random secrets).
Encode a value
Paste the plain string into the Encode input. The tool uses semantics.
Copy the encoded output
Use the Copy button to paste it into a URL, API request, or query parameter.
Decode an encoded value
Paste the percent-encoded string into the Decode input. If it contains malformed sequences, the tool will show an error.
Worked example (encode)
Input:
Notice how a space becomes and the colon becomes .
Worked example (decode)
Input:
If the input contains an invalid escape like , decoding will fail.
Building a query parameter safely
Suppose you want to send a search term: .
You can now append it as without the ampersand splitting your parameters.
Reading a copied tracking link
A campaign name might look like: .
Decoding makes it readable before you paste it into reports.
Fixing a malformed percent sequence
If you see an input like , decoding fails. Replace it or re-copy the URL.
In other words, percent escapes must follow .
Preparing values for copy/paste tools
When moving data between tools, encoding helps you keep special characters intact. If your data is binary-like or long, consider Base64 String Encoder/Decoder instead.
Encode values before adding them after a question mark in a URL.
Decode to make it readable and to spot the real value quickly.
Verify that your client is encoding exactly what you intend.
Encode and inside values.
Decode chunks to see what the link actually contains.
If you need full URL parsing, you likely want a dedicated URL parser.
Pro tip: Encode values, not the entire URL. If you encode you will end up with a URL that is no longer clickable.
Quick checks that prevent mistakes
Percent-encoding represents bytes using a percent sign and two hexadecimal digits. Conceptually, a byte becomes where are hex digits.
(shown as a conceptual rule; actual encoding applies to UTF-8 bytes)
In practice, the browser APIs treat your input as a Unicode string, convert it to UTF-8, then escape reserved bytes. This tool strictly follows the behavior of and .
URI vs URL vs component encoding
Many apps only need to encode a single value (a “component”), not an entire URL. That is why this tool mirrors .
Why does sometimes mean space?
That convention comes from HTML form encoding. It is not the same as decoding a percent-encoded URI component.
If you are transforming text rather than URLs, you may also like Case Converter.
It refers to percent-encoded sequences like and .
No. This tool behaves like and is intended for encoding a value.
Because the input contains malformed escapes. A valid escape looks like .
No. Encoding is reversible. Treat it like formatting, not security.
If you need to transport arbitrary bytes or large payloads in a compact form, use Base64 String Encoder/Decoder.
Limitations: this tool does not validate full URLs, does not parse query strings into key/value tables, and does not perform form decoding. It only encodes/decodes a string component.
This tool is intended for text formatting and debugging. It does not guarantee that a resulting full URL is valid or safe. Always validate and test your final links in your target environment.
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.