A high-performance, cross-platform Base64 encoding/decoding module for React Native, powered by C++ and simdutf. Implements WHATWG forgiving-base64 and supports both standard and URL-safe variants.
| iPhone | Android |
|---|---|
![]() |
![]() |
- Fast C++ implementation using simdutf
- WHATWG forgiving-base64 compliance (removes whitespace, optional padding)
- Supports both standard and URL-safe base64
- Consistent API for iOS and Android
- Detailed error handling
yarn add react-native-nitro-base64
yarn add [email protected]This module uses react-native-nitro-modules. Follow Nitro's setup instructions for autolinking and native builds.
export interface NitroBase64 extends HybridObject<{ ios: 'c++'; android: 'c++' }> {
install(): void;
encode(input: string, urlSafe: boolean): string;
decode(base64: string, urlSafe: boolean): string;
}install(): void— Initializes the native module for faster first-time encoding/decoding. Call this early in your app lifecycle via index.js or rootencode(input: string, urlSafe: boolean): string— Encodes binary data to base64. SeturlSafetotruefor base64url encoding.decode(base64: string, urlSafe: boolean): string— Decodes base64 (WHATWG forgiving) to binary. SeturlSafetotruefor base64url decoding.
index.js
import { install } from 'react-native-nitro-base64';
import { AppRegistry } from 'react-native';
import { install } from 'react-native-nitro-base64';
import { name as appName } from './app.json';
import App from './src/App';
install(); // <=== Call
AppRegistry.registerComponent(appName, () => App);
```typescript
import { encode,decode } from 'react-native-nitro-base64';
const encoded = encode('Hello World!', false); // "SGVsbG8gV29ybGQh"
const urlEncoded = encode('Hello World!', true); // "SGVsbG8gV29ybGQh"
const decoded = decode(encoded, false); // "Hello World!"
const urlDecoded = decode(urlEncoded, true); // "Hello World!"- iOS: C++ implementation via simdutf
- Android: C++ implementation via simdutf
Throws descriptive errors for invalid base64 input, remainder issues, or extra bits in padding.
MIT

