Base64 Encoding in JavaScript

Learn Base64 encoding and decoding in JavaScript. Use btoa(), atob(), Buffer, and handle Unicode characters correctly.

base64 javascriptbtoa atobjavascript encode base64js base64buffer base64 nodejs

JavaScript provides built-in functions for Base64 encoding, but handling Unicode requires special attention.

Browser: btoa() and atob()

btoa() encodes a string to Base64, atob() decodes. Note: These only work with ASCII characters. For Unicode, encode to UTF-8 first.

Node.js: Buffer

Use Buffer.from(string).toString("base64") to encode and Buffer.from(base64, "base64").toString() to decode. Buffer handles Unicode correctly.

Handling Unicode

In browsers: encodeURIComponent() + btoa() for encoding, atob() + decodeURIComponent() for decoding Unicode strings safely.

Summary

Test your JavaScript Base64 encoding with our online Base64 tool.