React Native ExecuTorch is an on-device AI inference library for React Native, powered by ExecuTorch — Meta's on-device inference runtime. It lets you run machine learning models directly on the user's phone with zero network calls, full offline capability, and guaranteed privacy. No data ever leaves the device.
The library ships with a curated set of pre-exported models covering computer vision, language models, text-to-speech, transcription, and more — all available in our Hugging Face collection and ready to use out of the box. You can also bring your own .pte models and plug them into existing pipelines or build entirely custom ones from scratch.
To explore all on-device capabilities in an interactive showcase app, check out the React Native ExecuTorch Gallery.
- Key Features
- Quickstart
- Documentation
- Powered by React Native ExecuTorch
- Created by Software Mansion
- Native Hardware Acceleration: Optimized execution delegates across backends: XNNPACK (CPU), Core ML & MLX (Apple Silicon), and Vulkan (Android GPU).
- 100% Offline & Private: Zero cloud inference costs and zero network dependency after model download. No user data ever leaves the device.
- Two-Layer Architecture:
- Ready-to-use Task Hooks (
use<Task>): Out-of-the-box support for LLMs, computer vision, speech, and embeddings with automatic caching and lifecycle management. - Lower-level Runtime & Custom Orchestration: Build custom pipelines entirely in TypeScript using low-level tensor operations, fast native operators, schema validation, and worklet threading.
- Ready-to-use Task Hooks (
- Pre-Exported Model Catalog: Access verified models directly via the
modelsregistry and the Software Mansion Hugging Face Collections.
Install react-native-executorch alongside its required peer dependencies:
npm install react-native-executorch react-native-worklets react-native-blob-util
# or
yarn add react-native-executorch react-native-worklets react-native-blob-util
# or
pnpm add react-native-executorch react-native-worklets react-native-blob-utilImportant
React Native ExecuTorch requires the New React Native Architecture, React Native 0.81+ or Expo SDK 54+ (using development builds), iOS 17.0+, and Android 13+.
import { Button, View } from 'react-native';
import { models, useLLMChatSession } from 'react-native-executorch';
export function App() {
const session = useLLMChatSession(models.llm.LFM2_5_1_2B.DEFAULT);
const handleGenerate = async () => {
if (!session.isReady || !session.sendMessage) return;
const turn = await session.sendMessage(
'Explain on-device AI in one sentence.',
(token) => console.log(token)
);
console.log('Result messages:', turn.messages);
};
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Button
title={session.isReady ? 'Generate' : `Loading (${session.downloadProgress.toFixed(0)}%)`}
onPress={handleGenerate}
disabled={!session.isReady}
/>
</View>
);
}Full documentation, guides, architecture deep dives, and API references are available at: docs.swmansion.com/react-native-executorch
- Getting Started Guide
- Downloading & Caching Models
- Task Extensions & Pipelines
- Core Primitives & Custom Pipelines
- Exporting Custom
.pteModels
React Native ExecuTorch powers Private Mind, a privacy-first mobile AI application available on App Store and Google Play.
Since 2012, Software Mansion has been building mobile and web apps, contributing to open-source software, and dealing with all kinds of React Native challenges. We are Core React Native Contributors. We can help you build your next AI product – Hire us.