Convert a URL in the browser
Encode Japanese, Spaces, and symbols into a URL-compatible format, and Decode strings such as %E6%97%A5. You can choose and inspect the full URL, URL components, or form format.
Open URL Encoder / DecoderConclusion: Encode in UTF-8 and compare the Japanese original after a round trip
Encode Japanese text as a URL component, then decode the generated result once and check whether it returns to the same text. If %25 remains, as in %25E6, it may be double-encoded.
If the original data uses a non-UTF-8 encoding such as Shift_JIS, decodeURIComponent alone may not restore correct Japanese. Check the original bytes and the sender's encoding.
Keep the original string, decide whether to convert the entire URL, Path, Query Value, or Fragment, then run it.
Check Japanese mojibake by stage
JavaScript encodeURIComponent converts a Unicode string into escape sequences corresponding to UTF-8 representation. The decode side also requires sequences that are valid as UTF-8.
This tool assumes UTF-8. It cannot select arbitrary legacy encodings and does not automatically repair missing byte sequences or already-mojibaked text.
| Account to check | What to check | Supported |
|---|---|---|
| Original Text | Japanese and Emoji | Check UTF-8 |
| Input | %E6 or %25E6 | Determine the number of decode operations |
| Range | Full URL / Value | Select format |
| Result | Round Trip match | Also check the code point |
Procedure for checking with URL Encoder / Decoder
- Choose URL components and Encode.
- Enter Suginami City, Tokyo, or Emoji.
- Swap the result and Decode it.
- Verify that it matches the original text character by character.
You can also confirm in the on-screen statistics that character count and UTF-8 byte count differ.
How to isolate issues when conversion fails or results differ
Mojibake such as ã may indicate that UTF-8 bytes were read as another encoding. If only % remains, check for insufficient decoding or double encoding.
The result also changes if the entire URL was decoded with decodeURIComponent along the way, decoding occurred twice in the Proxy and Application, or the input was truncated.
- Whether the original encoding is UTF-8
- Whether %25 was decoded only once
- Check for incomplete UTF-8 sequences.
- Check whether the Server performs additional Decode.
Supported scope of the current URL Encoder / Decoder
DevelopTools processes input strings in the browser. It converts URL components according to encodeURIComponent / decodeURIComponent, whole URLs according to encodeURI / decodeURI, and form format according to application/x-www-form-urlencoded rules for spaces and +. It supports an RFC 3986-compliant option, one decode or up to five decodes, multiple-encoding detection, invalid %XX position display, URL structure and query parameter parsing, copying, swapping, clearing all, and displaying character count, UTF-8 byte count, converted locations, and size changes.
| Function | Current tool operation |
|---|---|
| URL component | Convert Query Values and search terms, and Percent Encode &, =, ?, and similar characters as Data. |
| URL | Convert Japanese text and Spaces while preserving Scheme, Host, Path, Query, and Fragment separators. |
| Form format | Convert spaces to + when encoding and treat + as spaces when decoding |
| Error handling | Provide on-screen messages for incomplete %XX, invalid UTF-8 sequences, and isolated surrogates. |
| Parsing | Display Protocol, Host, Path, Query, Fragment, and Parameters including duplicates and empty values with the URL API |
Do not confuse URL Encoding with encryption or Secret protection
URL Encoding is not encryption. %XX is reversible Encoding that represents bytes in a form URLs can handle, and can be restored by Decoding. Encoding Tokens, Email addresses, User IDs, Internal Hosts, JWTs, or Session Identifiers does not make them secret.
URLs may remain in Browser History, Server Logs, Referers, Analytics, and screen shares. Reconsider designs that put Secrets in Queries, and use only Dummy values such as SAMPLE_TOKEN and example.com in examples. The current Tool does not store inputs or results in a conversion API, history, or LocalStorage.
Before sharing a URL, check that it does not contain User Information, Tokens, Passwords, customer names, or internal Hosts.
Check the specification and Web API using primary sources
Use RFC 3986 for general URI syntax, reserved characters, and percent-encoding; the WHATWG URL Standard for current browser URL handling and application/x-www-form-urlencoded; and ECMAScript and MDN for JavaScript API behavior.
Example: Round-trip 東京都杉並区 in UTF-8
Confirm that seven Japanese characters expand into multiple %XX sequences.
Decoding the encoded result once returns the original address, and you can also check the difference in character and byte counts.
- Record the original text
- Encode by URL component
- Decode the result once
- Compare with the original text
Use fictional samples instead of real data such as addresses and names.
Frequently asked questions
- Can URL encoding safely send confidential information?
- No. Percent-Encoding is not encryption and can be reversed. Putting Tokens or Passwords in URLs may leave them in History, Logs, and elsewhere.
- Is the entered URL sent to a server?
- URL conversion and parsing are performed in your current browser. Input and results are not stored in conversion APIs, History, or LocalStorage.