Input Data
Processed Output
Encoded result will appear here
Supports URL encoding/decoding with full URL structure parsing
What Is URL Encoder / Decoder?
URL encoding (percent-encoding) is a mechanism defined in RFC 3986 for representing special characters in URLs. ToolRunner's URL Encoder / Decoder converts text to and from percent-encoded format instantly in your browser — no data ever leaves your device.
Related Tools
Supported Standards
- RFC 3986 — URI Generic Syntax and percent-encoding rules
- encodeURIComponent / decodeURIComponent — JavaScript standard encoding that converts all non-alphanumeric characters except - _ . ! ~ * ' ( )
- Full URL parsing using the Web URL API — breaks down protocol, host, path, query parameters, and fragment
- UTF-8 multi-byte encoding — correctly handles CJK characters, emoji, and other Unicode text
Key Features
- Real-time encoding and decoding as you type with debounced updates
- One-click mode switching between Encode and Decode
- Swap button to instantly exchange input and output with automatic mode reversal
- Full URL structure parsing with query parameter breakdown table
- Copy input or output to clipboard with visual feedback
- Upload .txt files for batch encoding/decoding
- Download results as a text file
- Clean vertical layout and fullscreen mode for comfortable editing
How to Use
Type or paste text into the input area. Click ENCODE to percent-encode the text, or DECODE to convert percent-encoded text back to readable form. The result appears instantly below. Switch to the Parsed URL view to see a breakdown of URL components when the input is a valid URL. Use the Swap button to flip the input and output — handy for round-trip testing.
Why Use a Browser-Based URL Encoder?
URLs often contain API keys, session tokens, redirect URIs, and other sensitive parameters. Online encoding tools that send your data to a server expose this information to third parties. ToolRunner processes everything client-side with JavaScript, so your URLs and query strings never leave your machine. It also works offline after the first page load.
Common Use Cases
- Encoding query parameters for REST API calls during development
- Decoding percent-encoded URLs from server logs or analytics tools
- Debugging OAuth redirect_uri parameters and callback URLs
- Encoding internationalized text (Korean, Japanese, Chinese) for URL-safe transmission
- Inspecting and validating URL structure with the Parsed URL view
- Preparing encoded form data for application/x-www-form-urlencoded content types
Frequently Asked Questions
- What is the difference between encodeURI and encodeURIComponent?
- encodeURI encodes a full URI but preserves characters that have special meaning in URLs (such as :, /, ?, #, &). encodeURIComponent encodes everything except a handful of unreserved characters, making it suitable for encoding individual query parameter values. This tool uses encodeURIComponent, which is the correct choice for encoding arbitrary text to be placed inside a URL.
- How are Korean and other CJK characters encoded?
- Characters outside the ASCII range are first converted to their UTF-8 byte sequence, then each byte is percent-encoded. For example, the Korean character '서' becomes %EC%84%9C (three bytes in UTF-8, each prefixed with %).
- Is my data sent to any server?
- No. All encoding and decoding happens entirely in your browser using JavaScript's built-in encodeURIComponent and decodeURIComponent functions. Your data never leaves your device.
- Can I use this tool offline?
- Yes. After the page has loaded, the URL Encoder / Decoder works without an internet connection because all processing is client-side.
- What happens with double-encoded text?
- If you decode text that was encoded twice (e.g., %2520 instead of %20), a single decode pass will produce the once-encoded form (%20). You can decode again to get the final plain text. The tool does not automatically detect or handle double encoding — this is intentional so you can inspect each encoding layer.