Report Tool or Give Us Suggestions

JavaScript to Base64 Converter

Encode plain text or Unicode strings to Base64 with UTF-8 handling, URL-safe option, and instant copy.

L ading . . .

What is JavaScript to Base64 Converter?

The JavaScript to Base64 Converter encodes arbitrary Unicode text to Base64 using UTF-8 bytes first—so emoji and non-Latin scripts work— with an optional URL-safe alphabet that replaces + and / and strips padding, matching RFC 4648 section 5.

Why not raw btoa?

Browser btoa is defined on single-byte Latin-1 style strings. Feeding it UTF-8 text throws on many characters. This tool uses TextEncoder first, then btoa on the byte sequence, which matches what APIs expect for modern text.

How to use

  1. Paste or type text on the left.
  2. Toggle URL-safe Base64 if you need filenames, query strings, or JWT-like segments.
  3. Copy the Base64 string from the output panel.

Frequently Asked Questions

When should I use URL-safe Base64?

Use it when the result will be embedded in URLs or tokens where +, /, or = would need extra escaping. Remember that consumers must decode with the matching alphabet and padding rules.

Is encoding lossy?

No. Base64 is a reversible representation of the same UTF-8 bytes; decoding with the correct settings returns identical text.

Can I encode huge documents?

Very large strings can slow the tab or hit memory limits. For big files, prefer streaming encoding in a backend or dedicated binary pipeline.

Does this sign or encrypt data?

No. Base64 is not encryption. Anyone can decode it. Do not use it as a security control—use proper encryption and signatures instead.