TurboModules

Also called Turbo Modules, TurboModule

Also known as
Turbo Modules, TurboModule
Updated

What is TurboModules in React Native?

TurboModules are the New Architecture’s native modules. They are typed by Codegen, built on JSI, and loaded lazily so startup only pays for what the app actually uses.

TurboModules are the New Architecture replacement for classic native modules. They do the same job — expose platform capabilities to JavaScript — with three differences that matter.

  • Lazy loading. Legacy native modules were all initialised at startup, whether or not the app used them. A TurboModule is instantiated the first time JavaScript touches it, so an app with 40 dependencies no longer pays for 40 modules on launch.
  • Direct invocation. They sit on JSI, so calls skip JSON serialisation and can return synchronously.
  • Generated type safety. You declare the interface once in a TypeScript spec file and Codegen produces the C++, Java, and Objective-C bindings, so a signature mismatch is a build error rather than a runtime crash.

For app developers the practical impact is upgrade-shaped: when a library says it "supports the New Architecture", this is largely what it means. Libraries that were never migrated fail on modern React Native versions.