URL Encoder and Decoder in Java — Code Examples
URL encoding (percent-encoding) replaces characters that are not allowed in URLs with a percent sign followed by their hexadecimal value. Here is how to encode and decode URL components in each language.
Use java.net.URLEncoder for encoding form parameters and java.net.URI for encoding full URLs.
import java.net.URLEncoder;
import java.net.URLDecoder;
import java.net.URI;
import java.nio.charset.StandardCharsets;
public class UrlEncodingExample {
public static void main(String[] args) throws Exception {
String input = "hello world & foo=bar";
// Encode a query parameter value
String encoded = URLEncoder.encode(input, StandardCharsets.UTF_8);
System.out.println(encoded); // hello+world+%26+foo%3Dbar
// Decode
String decoded = URLDecoder.decode(encoded, StandardCharsets.UTF_8);
System.out.println(decoded); // hello world & foo=bar
// Build a full URL safely using URI
URI uri = new URI("https", "example.com", "/search", "q=hello world", null);
System.out.println(uri.toString());
// https://example.com/search?q=hello%20world
}
}- URLEncoder.encode() follows the application/x-www-form-urlencoded spec — spaces become +, not %20.
- Always pass StandardCharsets.UTF_8 explicitly; the charset parameter is required in Java 10+.
- Use URI constructor for encoding complete URLs — it handles each component separately.
Need to url encode/decode without writing code? The URL Encoder and Decoder runs entirely in your browser — paste your input and get the result instantly. No signup, no install, no data sent to a server.
Open URL Encode/Decode →URL Encoder and Decoder in JavaScript / Node.js
JavaScript has two pairs of functions: encodeURI/decodeURI for full URLs and encodeURIComponent/decodeURIComponent for individual query parameter values.
URL Encoder and Decoder in Python
Python's urllib.parse module provides quote() for encoding path segments, quote_plus() for form data, and urlencode() for building query strings.
URL Encoder and Decoder in Go
Go's net/url package provides url.QueryEscape for query parameters and url.PathEscape for path segments.
URL Encoder and Decoder in PHP
PHP has urlencode() for form data (spaces as +) and rawurlencode() for URL path segments (spaces as %20). Use http_build_query() to build full query strings.
URL Encoder and Decoder in Ruby
Ruby provides CGI.escape for form-style encoding and URI.encode_www_form_component for query strings. Both are in the standard library.
URL Encoder and Decoder in Rust
Rust has the urlencoding crate for simple percent-encoding, and the url crate for full URL building and parsing.
URL Encoder and Decoder in C# / .NET
C# provides Uri.EscapeDataString for RFC 3986 encoding and WebUtility.UrlEncode for form-style encoding (spaces as +).