Encode a single query value or a whole address with the mode that fits, and decode percent escapes back to readable text. It runs in your browser with no upload.
Your files are processed in your browser, on your own device. Nothing is uploaded to a server.
The URL Encoder Decoder makes a value safe to travel inside a web address, and turns an encoded address back into readable text. Component mode escapes everything a single query value needs, while full URL mode keeps the characters a whole address needs. It is free, runs in your browser, and nothing is uploaded.
The two modes exist because a value and an address are different jobs. Component mode prepares one value for a query string, so it escapes the characters that would break the value apart, the ampersand, the equals sign and the slash among them. Full URL mode prepares a whole address, so it keeps the characters an address needs to stay an address, such as :, /, ? and #.
The classic failure is picking the wrong mode. Component-encode a whole address and the escaped slashes and colon break it beyond use. Full-URL-encode a query value and a raw ampersand inside the value splits it into two parameters, while a # quietly cuts off everything after it. One more thing worth knowing: if a value already holds %25, it has probably been encoded twice, because %25 is the encoded form of the % sign itself.
Building links is the daily job. A search term, a name, a return address or a line of text with spaces in it has to ride inside a query string without breaking the parameters around it. Campaign links, share links and callback addresses all live or die on this one step.
Debugging is the second job. An API request fails, or returns the wrong thing, and the cause turns out to be a value carrying a raw ampersand or an unescaped space. Encoding the value properly, or decoding the request to read what was really sent, settles the argument in seconds.
Reading addresses is the quiet third job. Redirect chains, email links and log lines arrive percent-encoded, and decoding them shows where a link actually points before anyone clicks it. One raw ampersand in a value can quietly rewrite the whole request, and this page exists so you catch that character before your users do.
The plus sign follows its own rule. In form data and query strings a + stands for a space, because that is how browsers send forms. In the path of an address a + is a real plus sign. The decode option on this page covers the form case. Leave it off when you are decoding a path, or real plus signs turn into spaces you never sent.
Malformed input gets an honest error. A bare % at the end of a value, or a % followed by characters that are not hex digits, cannot be decoded into anything real. When that happens you get an error message instead of a guessed result, and the fix is to look at the escape the error points to.
Encoding makes characters safe. It does not repair an address. A wrong domain, a missing parameter or a dead page stays wrong after encoding, just better dressed. Text headed for an HTML page rather than an address needs a different kind of encoding as well, and the HTML Encoder Decoder covers that side of the work.
The converting runs on your device. Values and addresses you paste are not sent to a server, not logged and not stored by ToolPeko. There is no account, no daily cap and no sign-up. Close the tab and your pasted addresses go with it.
Component mode is for one value going into a query string, such as a search term. Full URL mode is for a whole address, where the :, / and ? characters have to survive for the address to work.
The usual cause is a whole address run through component mode, which escapes the slashes and the colon. Run it through full URL mode instead and the address keeps its shape.
Form data writes spaces as +. Switch the option on when decoding a query string or form values. Leave it off for address paths, where a + is a real plus sign.
A % has to be followed by two hex digits to mean anything. A bare % or a bad escape cannot be decoded, so the tool shows an error rather than guessing at your value.
It is written as UTF-8 byte escapes, one % escape per byte. That is the standard way non-English text travels inside an address, and decoding brings the original text back.
No. Encoding and decoding happen in your browser, and nothing is sent to or kept on a ToolPeko server.
Same rules as this one: free, in your browser, with nothing uploaded.
Paste messy JSON, get it neat and valid.
Check JSON and find the exact line that breaks it.
Squeeze JSON down to one tight line.
Open JSON as a tree you can fold and explore.
JSON rows turned into a CSV a spreadsheet can open.
A CSV file turned into clean JSON objects.
JSON rewritten as YAML for config files.
YAML config turned into JSON you can use in code.