Base64 Encode
v1.0.0Encode or decode text using Base64, URL percent-encoding, or HTML entities. Use when the user asks to encode, decode, base64 encode, base64 decode, URL encod...
Like a lobster shell, security has layers — review code before you run it.
Base64 / URL / HTML Encoder & Decoder
Encode or decode text using Base64, URL percent-encoding, or HTML entities. Processes text client-side with no external calls.
Input
- The text string to encode or decode
- Encoding type:
base64(default),url, orhtml - Direction:
encode(default) ordecode
Output
- The transformed string
- A brief note on the encoding type and direction applied
Instructions
Base64 (type: base64)
Encode:
- Take the input string.
- Convert each character to its UTF-8 byte sequence (handle non-ASCII/Unicode correctly).
- Apply Base64 encoding using the standard alphabet (A–Z, a–z, 0–9, +, /).
- Pad with
=characters to make the length a multiple of 4. - The algorithm equivalent is:
btoa(unescape(encodeURIComponent(input))).
Decode:
- Take the Base64-encoded input.
- Validate it contains only valid Base64 characters (A–Z, a–z, 0–9, +, /, =).
- Decode using:
decodeURIComponent(escape(atob(input))). - Return the original UTF-8 string.
URL Percent-Encoding (type: url)
Encode:
- Apply
encodeURIComponentsemantics: encode every character exceptA–Z a–z 0–9 - _ . ! ~ * ' ( ). - Spaces become
%20(not+). - Non-ASCII characters are UTF-8 encoded then percent-escaped.
Decode:
- Replace each
%XXsequence with the corresponding byte. - Interpret the resulting bytes as UTF-8.
- Equivalent to
decodeURIComponent(input).
HTML Entities (type: html)
Encode: Replace these characters with their named HTML entities:
<→<>→>&→&"→"'→'
Decode: Reverse the mapping — replace each HTML entity with its literal character.
Options
type:base64|url|html— default:base64direction:encode|decode— default:encode
Examples
Base64 encode:
Input: Hello, World!
Output: SGVsbG8sIFdvcmxkIQ==
Base64 encode (Unicode):
Input: Héllo
Output: SMOpbGxv
Base64 decode:
Input: SGVsbG8sIFdvcmxkIQ==
Output: Hello, World!
URL encode:
Input: name=John Doe&city=New York
Output: name%3DJohn%20Doe%26city%3DNew%20York
URL decode:
Input: hello%20world%21
Output: hello world!
HTML encode:
Input: <script>alert("XSS")</script>
Output: <script>alert("XSS")</script>
HTML decode:
Input: <h1>Hello & welcome</h1>
Output: <h1>Hello & welcome</h1>
Error Handling
- Invalid Base64 input for decode: If the string contains characters outside the Base64 alphabet or has incorrect padding, report:
Error: Invalid Base64 string. Ask the user to verify the input. - Invalid URL encoding for decode: If a
%XXsequence uses non-hex digits or the sequence is incomplete, report:Error: Invalid URL encoded string. - Empty input: Return an empty string with a note that no input was provided.
- Binary/non-text data: Warn the user that Base64 encoding of binary data requires the raw bytes, which cannot be provided as plain text — suggest they use a tool that accepts file uploads.
Comments
Loading comments...
