react-native-quick-base64
v3.0.0
Published
A native implementation of base64 in C++ for React Native
Downloads
1,353,951
Readme
react-native-quick-base64
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.

Features
- ⚡ Native C++/JSI implementation for maximum performance
- 🧠 Automatically installs its JSI bindings at runtime
- 🧩 Drop-in replacement for
base64-jswith matching API - 🔒 No additional native setup or linking required
Installation
npm install react-native-quick-base64This 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 namespaceYou can also import individual helpers:
import { fromByteArray, toByteArray } from 'react-native-quick-base64'Usage
import { fromByteArray, toByteArray } from 'react-native-quick-base64'
const base64 = fromByteArray(new TextEncoder().encode('foo'))
const decoded = new TextDecoder().decode(toByteArray(base64))API
Compatible with base64-js.
byteLength(b64: string): number
Returns the length of the byte array that corresponds to the base64 string.
toByteArray(b64: string, removeLinebreaks: boolean = false): Uint8Array
Converts a base64 string into a Uint8Array.
If removeLinebreaks is true, all \n characters are removed first.
fromByteArray(uint8: Uint8Array, urlSafe: boolean = false): string
Converts a byte array into a base64 string.
If urlSafe is true, the output uses a URL-safe base64 charset.
trimBase64Padding(str: string): string
Removes 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).
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT © Takuya Matsuyama
