Encoding and hashing tools
Encoding changes how data is represented so it can pass through a channel that only accepts certain characters. It is fully reversible and keeps nothing secret. Base64 (RFC 4648) maps bytes to 64 ASCII characters so binary data fits into JSON, email or HTML. Its URL-safe variant, Base64url, swaps + and / for - and _ so the result can sit in a URL or a JWT. Percent-encoding (RFC 3986) escapes reserved characters in URLs, a data URI (RFC 2397) inlines a whole file into a link, and JSON string escaping uses backslash sequences such as \n and \u00e9.
Text itself is an encoding. One visible character can be several Unicode code points, one code point can be up to four UTF-8 bytes, and characters outside the Basic Multilingual Plane become surrogate pairs in UTF-16. Invisible characters such as zero-width spaces and bidirectional controls can make two different strings look identical.
Hashing is different. A hash function such as SHA-256 produces a fixed-length digest that cannot be reversed. It is used to verify integrity or detect changes. MD5 and SHA-1 are still common for checksums but are no longer collision-resistant, so avoid them for security. To hash JSON reliably, canonicalize it first (RFC 8785) so key order and whitespace do not change the digest. All of these tools run in your browser.
All Encoding & hashing tools
- b64Base64 Encode / DecodeUTF-8 safe Base64 with a URL-safe option.
- %2FURL Encode / DecodePercent-encode a query value or a full URL per RFC 3986, or decode it.
- data:⇄Data URI Encoder / DecoderCreate inline data URLs or get back their text and bytes.
- \"JSON Escape / UnescapeTurn JSON into an escaped string literal, or unescape a JSON string.
- U+Unicode & Encoding InspectorShow graphemes, code points, bytes and invisible control characters.
- 2↔16Number Base ConverterConvert exact integers between binary, octal, decimal and hexadecimal.
- #Hash GeneratorHash text to a hex digest with SHA-256, SHA-1 or MD5.
- a→zJSON SorterSort object keys A to Z or Z to A at every level, or canonicalize with RFC 8785.
Related guides
- Base64 encoding explained: format, examples and URL-safe Base64How Base64 turns binary into text, with a worked example, the standard and URL-safe alphabets, padding, and why it is not encryption.
- What is URL encoding? Percent-encoding, %20 and + explainedHow percent-encoding works, why spaces become %20, when + means a space, and when to use encodeURIComponent instead of encodeURI.
- How to escape and unescape JSON stringsEscape and unescape JSON strings: the required escapes, quotes, \uXXXX, embedding JSON in JSON, and how to avoid double-escaping bugs.