Base64 transcode
Base64 encoding and decoding for both browser and node, with binary file support.



Table of Contents
Why this package?
If you've ever done base64
coding on the frontend side, I think you've noticed that atob
and btoa
methods are a
problem with utf-8
strings. This package solves the problem, plus, on the backend side, you can use the same package
and syntax with binary
files as well.
Compatibility
This package supports CommonJS
, ES Modules
, and IIFE
(Immediately Invoked Function Expression) formats. You can
safely use both require
and import
statements in any environment. TypeScript
also supported.
Installation
To get started with base64-transcode
, you can install it using yarn
or npm
or load script in the browser:
yarn add base64-transcode
npm i base64-transcode
<script src="https://unpkg.com/base64-transcode/dist/browser.js"></script>
Usage
CommonJS
const Base64 = require('base64-transcode');
const decodedData = Base64.decode('SGVsbG8gV29ybGQh');
console.log(decodedData);
const encodedData = Base64.encode('Hello World!');
console.log(encodedData);
ES Modules
import Base64 from 'base64-transcode';
const decodedData = Base64.decode('SGVsbG8gV29ybGQh');
console.log(decodedData);
const encodedData = Base64.encode('Hello World!');
console.log(encodedData);
IIFE (Immediately Invoked Function Expression)
<script src="https://unpkg.com/base64-transcode/dist/browser.js"></script>
<script>
const decodedData = Base64.decode('SGVsbG8gV29ybGQh');
console.log(decodedData);
const encodedData = Base64.encode('Hello World!');
console.log(encodedData);
</script>
API documentation
-
decode(base64: string, toBuffer?: boolean): string | Uint8Array | Buffer
Decodes the base64 code. If the toBuffer
option is true
, it returns a Uint8Array
in browser and Buffer
in
node.js, otherwise a string.
-
encode(input: string | Uint8Array | Buffer): string
Encodes the given string into base64 code.
Guidelines
To learn about the guidelines, please read the Code of Conduct,
Contributing and Security Policy documents.
License
MIT License @ 2023 Zsolt Tövis
If you found this project interesting, please consider supporting my open source work by
sponsoring me on GitHub /
sponsoring me on PayPal /
give the repo a star.