# urlencodedecode.com > A free, privacy-first URL encoder and decoder. All encoding and decoding runs entirely in the browser via client-side JavaScript — input is never uploaded to a server. Built for developers, digital marketers, and anyone working with URLs. Supports 50+ character sets, recursive decoding, hex/byte output, and four encoding variants. Key facts: - 100% client-side: pasted URLs and text never leave the browser tab; works offline. - Standards-based: implements RFC 3986 (percent-encoding), RFC 3629 (UTF-8), and the WHATWG URL Standard (application/x-www-form-urlencoded). - No account, no tracking of tool inputs, no server processing of user data. ## Tools - [URL Decoder](https://urlencodedecode.com/decode.html): Percent-decode any string; 50+ charsets, recursive decoding, hex/hexdump/bytes output, batch mode. - [URL Encoder](https://urlencodedecode.com/encode.html): Percent-encode text; four variants (Standard, Strict RFC 3986, Form, Path-aware), batch mode, MIME wrapping. - [Query String Parser](https://urlencodedecode.com/tools/query-string-parser.html): Split and decode query parameters. - [URL Parser](https://urlencodedecode.com/tools/url-parser.html): Break a URL into scheme, host, path, query, fragment. - [Form Encoder](https://urlencodedecode.com/tools/form-encoder.html): application/x-www-form-urlencoded encoding. - [Path Encoder](https://urlencodedecode.com/tools/path-encoder.html): Slash-aware path encoding. - [URL Validator](https://urlencodedecode.com/tools/url-validator.html): Check URL validity. - [URL Builder](https://urlencodedecode.com/tools/url-builder.html): Construct a URL from parts. ## Guides - [URL Encoding Troubleshooting](https://urlencodedecode.com/guides/url-encoding-troubleshooting.html): Ten common encoding bugs and fixes (double-encoding, garbled text, +/space, hex casing, 431s). - [URL Decoding FAQ](https://urlencodedecode.com/guides/url-decoding-faq.html): 25 answers on percent-decoding across languages, errors, SEO, and security. - [URL Encoding FAQ](https://urlencodedecode.com/guides/url-encoding-faq.html): 25 answers on percent-encoding across languages, %20 vs +, HTML/Base64, SEO, security. - [Reserved Characters Reference](https://urlencodedecode.com/guides/url-reserved-characters.html): RFC 3986 reserved vs unreserved character tables. - [UTF-8 vs ASCII URL Encoding](https://urlencodedecode.com/guides/utf8-vs-ascii-url-encoding.html): How character sets change encoded output. - [Fix HTTP 431](https://urlencodedecode.com/guides/fix-http-431-request-header-too-large.html): Request Header Fields Too Large — causes and Node.js/Nginx/Apache fixes. - [Parsing Encoded Server Logs](https://urlencodedecode.com/guides/parse-percent-encoded-server-logs.html): Extract and decode percent-encoded URLs from access logs with awk/sed/Python. - [Query Params in React & Next.js](https://urlencodedecode.com/guides/query-params-react-nextjs.html): URLSearchParams patterns, avoiding double-encoding and re-render loops. - [Faceted Navigation & Crawl Budget](https://urlencodedecode.com/guides/faceted-navigation-crawl-budget.html): How parameter order and hex casing waste crawl budget. - [OAuth 2.0 redirect_uri & state Encoding](https://urlencodedecode.com/guides/oauth2-redirect-uri-state-encoding.html): Fixing redirect_uri exact-match, state corruption, double-encoding, and PKCE base64url bugs. - [Decode-Then-Validate Input Hardening](https://urlencodedecode.com/guides/decode-then-validate-input-hardening.html): Defensive input handling — canonicalize before validating, allowlists over blocklists, double-encoding defense. - [Parse Query String in JavaScript](https://urlencodedecode.com/guides/parse-query-string-javascript.html): Parsing query strings with URLSearchParams (get/getAll, repeated keys, +/space, to-object). - [Pass a URL as a Query Parameter](https://urlencodedecode.com/guides/pass-url-as-query-parameter.html): Embedding a URL inside another safely with encodeURIComponent; avoiding open redirects. - [Send Form Data via POST](https://urlencodedecode.com/guides/send-form-data-post-request.html): POSTing form data: x-www-form-urlencoded vs multipart/form-data with fetch, Python, cURL. - [Get Current URL Path in Node.js](https://urlencodedecode.com/guides/get-current-url-path-nodejs.html): Reading the request path in Node.js (WHATWG URL, raw http, Express req.path). - [Escape a Forward Slash in a URL Path](https://urlencodedecode.com/guides/escape-forward-slash-url-path.html): Encoding a slash inside a path segment as %2F; why servers handle %2F inconsistently. - [Split a URL into Parts in Python 3](https://urlencodedecode.com/guides/split-url-parts-python.html): Splitting a URL in Python 3 with urllib.parse (urlparse, parse_qs, unquote). - [Validate a URL Programmatically](https://urlencodedecode.com/guides/validate-url-structure-programmatically.html): Validating URLs by parsing (URL.canParse, urlparse, java.net.URI) not regex; redirect/SSRF cautions. - [Capture HTTP Request Parameters in Node.js](https://urlencodedecode.com/guides/capture-http-request-parameters-nodejs.html): Reading query/route/body parameters in Node.js and Express (req.query, req.params, req.body). - [Prevent Directory Traversal Attacks](https://urlencodedecode.com/guides/prevent-directory-traversal-url-paths.html): Stopping ../ path traversal; decode-then-validate and double-encoding evasion. - [Extract the Hostname from a URL](https://urlencodedecode.com/guides/extract-hostname-from-url.html): Extracting host/root domain with the URL parser and the Public Suffix List. - [Set a Canonical URL](https://urlencodedecode.com/guides/set-canonical-url-duplicate-content.html): Using rel=canonical to consolidate duplicate URLs from parameters and hex casing. - [Debug a 404 from Bad URL Parameters](https://urlencodedecode.com/guides/debug-404-bad-url-parameters.html): Debugging encoding-caused 404s: %2F, double-encoding, unencoded # and spaces. ## Language references (blog) - [Python](https://urlencodedecode.com/blog/url-encoding-in-python.html), [JavaScript](https://urlencodedecode.com/blog/url-encoding-in-javascript.html), [Java](https://urlencodedecode.com/blog/url-encoding-in-java.html), [Go](https://urlencodedecode.com/blog/url-encoding-in-go.html), [PHP](https://urlencodedecode.com/blog/url-encoding-in-php.html), [C#/.NET](https://urlencodedecode.com/blog/url-encoding-in-csharp.html), [cURL](https://urlencodedecode.com/blog/url-encoding-in-curl.html). ## Concepts (blog) - [What is URL Encoding](https://urlencodedecode.com/blog/what-is-url-encoding.html), [Percent-Encoding & RFC 3986](https://urlencodedecode.com/blog/percent-encoding-rfc3986.html), [Double-Encoding Explained](https://urlencodedecode.com/blog/double-url-encoding-explained.html), [%20 vs +](https://urlencodedecode.com/blog/url-encoding-spaces.html), [Emoji & Unicode](https://urlencodedecode.com/blog/url-encoding-emoji-unicode.html), [URL vs Base64](https://urlencodedecode.com/blog/url-vs-base64-encoding.html), [URL vs HTML Encoding](https://urlencodedecode.com/blog/url-vs-html-encoding.html), [encodeURI vs encodeURIComponent](https://urlencodedecode.com/blog/when-to-use-encodeuri-vs-component.html), [OAuth Encoding](https://urlencodedecode.com/blog/url-encoding-for-oauth.html), [REST API Encoding](https://urlencodedecode.com/blog/url-encoding-for-rest-apis.html), [UTM Tracking](https://urlencodedecode.com/blog/url-encoding-for-utm-tracking.html), [URL Length Limits](https://urlencodedecode.com/blog/url-length-limits-by-browser.html).