URL Encoder and Decoder Toolv1.0.0
Percent-encodes or decodes URL strings, treating each line as an independent value so multi-line input is processed in bulk. A Form Mode toggle switches between %20 and + for spaces (application/x-www-form-urlencoded); Encode All applies percent-encoding to every non-unreserved character; Force Double-Encode re-encodes existing %HH sequences. Outputs appear as an original/transformed pair with per-row copy buttons and an optional character-map view that highlights differences.
Documentation
- Reserved characters (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) may need encoding depending on context
- Unreserved characters (A-Z a-z 0-9 - . _ ~) are never encoded
- Spaces become %20 in standard encoding or + in form mode (application/x-www-form-urlencoded)
- Be cautious of double-encoding already encoded URLs
- Multiple URLs can be processed simultaneously when detected in the input
- UTF-8 encoding is used for international characters (e.g., café becomes caf%C3%A9)
- Use "Encode all" option to encode reserved characters that are normally preserved
Convert URLs and text to safe, percent-encoded formats or restore encoded strings to readable text. Protect query strings, form data, and API parameters from breaking characters. Improve reliability in browsers, scripts, and server-side code by applying standards-compliant URL encoding and decoding.
Process single values or large lists with fast, accurate output. Use form mode for application/x-www-form-urlencoded data, encode all non-unreserved characters for strict scenarios, and force double-encoding when a downstream system expects %25HH sequences. Copy results, export CSV, and audit differences to speed up debugging and reviews.
Convert readable text and URLs to safe web formats or restore percent-encoded strings to human-readable form. Follow these steps to match browser, API, and form behavior.
- Select Mode to set the operation. Choose Encode to percent-encode text or Decode to convert
%HHsequences back to text. Let auto-detect switch modes when input clearly indicates the opposite action. - Paste or type content in Enter URL or text. Track input length with the live Character Length counter.
- Enable Form mode to replace spaces with
+forapplication/x-www-form-urlencodeddata. Leave it off to encode spaces as%20. - Enable Process each line separately to convert lists line by line, which helps when handling bulk URLs or parameters.
- Enable Encode all non-unreserved to encode reserved symbols that are usually preserved in URLs.
- Enable Force double-encode to re-encode existing
%HHsequences as%25HHwhen a downstream system expects double encoding. - Click Encode/Decode or turn on Live mode to run conversions automatically as you type or paste.
- Use Swap Input & Result to feed the output back into the input for chained conversions.
- Click Copy to place results on the clipboard. Click Download .txt Result or Download .csv Result to export single or multiple items.
- Toggle Show character map and differences to view a concise map of changed characters for quick audits.
Formulas and logic:
- Keep unreserved characters unchanged:
A-Z a-z 0-9 - . _ ~. - Encode spaces as
%20by default or as+in form mode. - Write each byte as
%HHusing uppercase hexadecimal during percent-encoding. - Encode non-ASCII characters as UTF-8 bytes and then percent-encode each byte.
- Decode by optionally converting
+to space in form mode and then mapping each valid%HHto its byte before UTF-8 decoding. - Apply Force double-encode to turn existing
%HHinto%25HH. - Apply Encode all non-unreserved to encode reserved symbols
:/?#[]@!$&'()*+,;=when strict encoding is required.
Prepare, validate, and troubleshoot URLs and text for web development, SEO, analytics, and system integration.
- Build clean query strings for GET requests and safely encode keys and values before sending requests to APIs and microservices.
- Prepare form payloads for
application/x-www-form-urlencodedworkflows by converting spaces to+and encoding special characters. - Decode URLs in server logs to investigate redirects, missing pages, parameter corruption, and security filters.
- Bulk-convert lists from TXT or CSV during SEO audits, site migrations, and marketing tag cleanups.
- Handle Unicode in paths and parameters by confirming correct UTF-8 percent-encoding for internationalized content.
- Sanitize user input in scripts and low-code automations to prevent broken requests and inconsistent link handling.
- Verify webhook callback URLs and third-party redirect targets during QA, CI checks, and monitoring.
- Normalize links in analytics exports to consolidate metrics and reduce duplicate URL variants.
- Encode example:
https://example.com/search?q=coffee & cream / cafébecomeshttps://example.com/search?q=coffee%20%26%20cream%20%2F%20caf%C3%A9. - Decode example:
name%3DJohn+Doe%26city%3DZ%C3%BCrichwith form mode becomesname=John Doe&city=Zürich. - Double-encode example: Enabling force double-encode turns
%2Finto%252Ffor systems that expect a second encoding pass.
When should I use form mode? Use form mode when you submit data with application/x-www-form-urlencoded, such as classic HTML forms and many OAuth flows, because spaces become + instead of %20.
Why do some characters stay unencoded? Unreserved characters A-Z a-z 0-9 - . _ ~ do not need encoding under RFC 3986. Enable Encode all non-unreserved to enforce stricter output.
Why do non-ASCII characters expand? UTF-8 represents them with multiple bytes, so each byte becomes a %HH sequence. This is correct and ensures cross-system compatibility.
What does double-encoding do? It converts existing %HH to %25HH for pipelines that intentionally require a second encoding layer.
Inputs, outputs, and what the URL Encoder and Decoder Tool computes
The form above accepts the following inputs and produces the outputs listed below. This summary is rendered in the page so the parameters are visible to crawlers, assistive tech, and indexing agents that don't fetch the embedded tool frame.
Inputs
- Mode · default: Encode
- Enter URL or text
- Original input text for Encode (text input)
- Encoded result text (text input)
- Original input text for Decode (text input)
- Decoded result text (text input)
Controls
Encode · Clear · Copy · Download .txt Result · Download .csv Result · Clear All Saved Data
Worked example
Convert readable text and URLs to safe web formats or restore percent-encoded strings to human-readable form.