UTF-8 Safe & URL-Safe Base64

Base64 Encoder & Decoder

Encode and decode strings, Unicode emojis, Hex byte sequences, or convert images/files into Data URI strings. 100% private in-browser memory.

Input Size: 94 bytes→Output Size: 128 bytes
+36% Base64 overhead (4:3 ratio)
Plaintext Input
Presets:··
Base64 Output

100% Zero-Egress Privacy

Never upload sensitive credentials, private keys, or enterprise files to remote web tools. Nazamos encodes and decodes entirely inside your local browser memory.

UTF-8 & Emoji Safe

Unlike legacy browser implementations of btoa() that throw errors on multi-byte characters, Nazamos handles all Unicode symbols and international scripts safely.

RFC 4648 & Data URIs

Toggle between standard Base64 and URL-safe Base64 (- & _), convert Hex bytes, or generate inline Data URIs for web assets.

Developer Reference & Cheat Sheet

Base64 Specification & RFC 4648 Guide

Comparing Standard Base64, URL-Safe Base64, and Hex encoding formats:

SpecificationAlphabet RangePadding RulePrimary Use Cases
Standard Base64 (RFC 4648 §4)A-Z, a-z, 0-9, +, /Padded with `=` to 4-char boundaryEmail MIME (RFC 2045), Basic Auth headers, Data URIs
URL-Safe Base64 (RFC 4648 §5)A-Z, a-z, 0-9, -, _No padding (or optional `=`)JWT Tokens, URL query parameters, filenames
Hex / Base16 (RFC 4648 §8)0-9, a-f / A-F2 hex chars per byte (no padding)Cryptographic hashes (SHA-256, MD5), byte dumps

JavaScript / TypeScript

// Modern UTF-8 safe encoding
const toBase64 = (str) =>
  btoa(unescape(encodeURIComponent(str)));

// Node.js Buffer
const encoded = Buffer.from("Hello").toString("base64");
const decoded = Buffer.from(encoded, "base64").toString("utf8");

Python 3

import base64

# Standard encoding
encoded = base64.b64encode(b"Hello").decode("utf-8")

# URL-Safe encoding (RFC 4648)
url_safe = base64.urlsafe_b64encode(b"Hello").decode("utf-8")

Base64 Encoding & Decoding FAQs

Base64 is a binary-to-text encoding scheme that converts 8-bit binary data into a set of 64 ASCII characters (A-Z, a-z, 0-9, +, /). Nazamos processes your text using the standard UTF-8 specification, ensuring multi-byte Unicode strings and emojis encode and decode without data corruption.