Skip to content
JustDevTools
  • JSON formatter and validator
    Format, minify and validate JSON, with the exact line and column of any syntax error.
  • JWT decoder
    Read a JWT's header and payload, with issued-at and expiry times shown as real dates.
  • Base64 encoder and decoder
    Encode and decode Base64 and Base64URL, with full Unicode support.
  • JSON to TypeScript, Zod and Java
    Paste a JSON response and get TypeScript interfaces, a Zod schema or Java classes with Jackson annotations.
  • YAML to JSON converter
    Convert YAML to JSON and JSON to YAML, with the exact line of any syntax error. Handles multi-document files.
  • Regex tester
    Test JavaScript regular expressions with live match highlighting, capture groups and replace preview.
  • URL encoder and decoder
    Percent-encode and decode URLs and query values, and break a URL into its parts and parameters.
  • Unix timestamp converter
    Convert Unix timestamps in seconds or milliseconds to dates, and dates back to timestamps.
  • Cron expression explainer
    See what a cron expression means in plain English, what each field does and the next times it will run.
  • JSON to CSV converter
    Turn a JSON array into CSV for Excel or Google Sheets, or a CSV file into JSON. Nested objects become columns.
  • UUID generator and inspector
    Generate UUID v4 and time-ordered v7 in bulk, or paste a UUID to see its version and timestamp.
  • Text diff checker
    Compare two texts line by line and see exactly what was added, removed or changed.
  • Hash and HMAC generator
    SHA-256, SHA-1, SHA-384 and SHA-512 hashes and HMAC signatures of text, in hex or Base64.
  • Markdown previewer
    Write Markdown on the left and see it rendered live on the right, with GitHub-style tables and task lists.

Base64 encoder and decoder

Encode and decode Base64 and Base64URL, with full Unicode support.

Runs locally. Nothing you paste leaves this tab.

Base64

SGVsbG8sIHdvcmxkISBQcmljZTog4oK5NDk5IOKckw==

What Base64 is for

Base64 turns any bytes into plain text using 64 safe characters, so binary data can travel through systems that only handle text: JSON fields, HTTP headers, email and URLs. It is an encoding, not encryption. Anyone can decode it.

Base64 vs Base64URL

Standard Base64 uses + and / and pads the end with =. Those characters have special meaning in URLs, so Base64URL replaces them with - and _ and usually drops the padding. JWTs and many OAuth parameters use Base64URL. This tool decodes both automatically.

Basic auth headers

HTTP Basic authentication sends username:password encoded as Base64. To build the header, encode apiuser:secret and send Authorization: Basic YXBpdXNlcjpzZWNyZXQ=. Because Base64 is reversible, only send Basic auth over HTTPS.

Unicode and the btoa error

In JavaScript, btoa("₹") throws “The string to be encoded contains characters outside of the Latin1 range.” Encode the text as UTF-8 bytes first:

// Browser and Node 16+
const bytes = new TextEncoder().encode("Price: ₹499");
const b64 = btoa(String.fromCharCode(...bytes));

// Node.js
Buffer.from("Price: ₹499", "utf8").toString("base64");

In Java, use Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8)), or getUrlEncoder().withoutPadding() for Base64URL.