DeskKit

text

Base64 encoder

Encode and decode Base64, including UTF-8 and URL-safe alphabets.

Runs 100% in your browser. Nothing you paste is uploaded, stored, or sent to a server.

How to use

  1. Paste plain text and encode, or paste a Base64 string and decode.
  2. UTF-8 is used both ways, so café and CJK characters survive a round trip. Legacy btoa-on-raw-Unicode will not.
  3. URL-safe input (- and _ instead of + and /) is accepted on decode. Padding is optional.
  4. Copy the result into an Authorization header, a data URL, or an email body.

Base64 turns bytes into ASCII so they can travel through headers, JSON, and XML. The classic JavaScript helpers btoa and atob break on any character above U+00FF. This tool encodes the UTF-8 bytes of your text, which is what you want for tokens, PEM fragments, and copy-pasted prose.

Decode is conservative: bad alphabets and illegal UTF-8 are reported instead of silently replacing characters. Use it when you are staring at a blob from a JWT, a basic-auth header, or a Kubernetes secret and you want to read it without shipping the secret to a website you do not control.

Examples

Basic

DeskKit encodes to RGVza0tpdA==. Decoding that string returns DeskKit.

UTF-8

café encodes to Y2Fmw6k=, not the incorrect Latin-1 form you would get from a naive btoa call.

URL-safe

A string with >>? uses + and / in standard Base64. You can paste the -/_ variant without converting it first.

Standard vs URL-safe Base64

RFC 4648 defines two alphabets. The original uses A–Z, a–z, 0–9, +, and /. The URL-safe variant swaps in - and _ so the value can sit in a query string or file name without extra escaping. JWTs use the URL-safe alphabet without padding. This decoder accepts both.

Base64 is encoding, not encryption. Anyone can decode it. Do not treat a Base64 password as hidden, and do not paste secrets into an online encoder you would not trust with the plaintext.

Binary files can be encoded if you paste their text representation, but this UI is aimed at strings. For hashing a file, use the hash generator, which can read a local file handle without uploading it.

FAQ

Why not use btoa directly?

btoa throws on Unicode. DeskKit encodes UTF-8 bytes first, which matches how most APIs and the Web Crypto stack treat text.

Can I decode a JWT here?

You can, because JWT segments are Base64URL, but the JWT decoder is a better fit: it splits header and payload and pretty-prints the claims.

What if the output is garbled?

The bytes may not be UTF-8 (for example, a gzip payload). This tool is a text encoder/decoder, not a general binary viewer.

Is the text uploaded?

No. Encode and decode run locally.

DeskKit is a static site. Interactive tools require JavaScript.