Text & Encoding

Encoding & escaping tools

The same piece of text needs different escaping depending on where it's going — a URL query parameter, an HTML attribute, a JSON string literal or a data: URL each have their own rules, and getting it wrong causes bugs that are hard to spot by eye. This page covers Base64, Base32, Base58 and Base85 encoding, URL and HTML entity encoding, string escaping and a few less common formats like Punycode and ROT13.

Base64 encoder offers a strict UTF-8 mode alongside alternate alphabets, and Base encoding converter lets you pick the exact alphabet variant for Base32 or Base58, since different systems use different ones. URL encoder treats a URL component, a full URI and a form field value as separate cases because each escapes a different set of characters. String escape handles JSON, JavaScript and Unicode escape contexts specifically rather than one generic rule.

9 tools

Encoding & Escaping tools FAQ

Why does URL encoding a string produce different results depending on where I'm using it?

A URL query parameter, a path segment and a full URI each reserve a different set of characters, so encoding a slash or a plus sign correctly depends on which one you're building. URL encoder handles URL components, full URIs and form field values as distinct modes so you encode against the right rule instead of one that's close enough.

What's the difference between Base32, Base58 and Base64?

They trade encoded length for readability and safety: Base64 is the most compact but is case-sensitive and includes characters unsafe in URLs or filenames, Base32 avoids case sensitivity for things like manually typed codes, and Base58, used by Bitcoin addresses, drops visually similar characters like 0, O, I and l. Base encoding converter covers all three plus Base85.

How do I escape a string for safe use inside a JSON value?

String escape converts control characters, quotes and backslashes into their JSON-safe escape sequences, and can do the same for JavaScript string literals or Unicode escapes specifically, since the exact characters each context requires escaping differ slightly between them.