Browse by type
A blazing fast, native Base64 implementation for React Native using C++ and JSI.
This library is ~30x faster than base64-js. Try the benchmarks in the example app.

base64-js with matching APInpm install react-native-quick-base64
This module installs its native bindings automatically. Simply importing the library is enough to activate the native backend. Add it to your root entry point file or your first _layout.tsx.
import 'react-native-quick-base64' // triggers native JSI install to global namespace
You can also import individual helpers:
import { fromByteArray, toByteArray } from 'react-native-quick-base64'
import { fromByteArray, toByteArray } from 'react-native-quick-base64'
const base64 = fromByteArray(new TextEncoder().encode('foo'))
const decoded = new TextDecoder().decode(toByteArray(base64))
Compatible with base64-js.
byteLength(b64: string): numberReturns the length of the byte array that corresponds to the base64 string.
toByteArray(b64: string, removeLinebreaks: boolean = false): Uint8ArrayConverts a base64 string into a Uint8Array.
If removeLinebreaks is true, all \n characters are removed first.
fromByteArray(uint8: Uint8Array, urlSafe: boolean = false): stringConverts a byte array into a base64 string.
If urlSafe is true, the output uses a URL-safe base64 charset.
trimBase64Padding(str: string): stringRemoves trailing = or . padding from base64 or base64url-encoded strings.
[!NOTE] Breaking change (#53): The
btoa,atob, andshim()polyfills have been removed. Recent versions of Hermes providebtoaandatobnatively in the JS runtime, so the polyfills are no longer needed. If you need string ⇄ base64 conversion, useTextEncoder/TextDecodertogether withfromByteArray/toByteArray(see Usage below).
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT © Takuya Matsuyama
$ claude mcp add react-native-quick-base64 \
-- python -m otcore.mcp_server <graph>