Skip to content

Introduction

ZNTC stands for Zig Native Transpiler & Compiler. It is a native-speed transpile and bundling toolchain for JavaScript, TypeScript, and Flow, aiming for production-level quality on par with SWC and oxc.

Transformations that other bundlers ship as separate Babel plugins or presets are built into ZNTC. A single option enables each one — no @babel/core dependency required.

  • styled-componentscompiler.styledComponents (replaces babel-plugin-styled-components)
  • emotioncompiler.emotion (replaces @emotion/babel-plugin)
  • Reanimated worklets — automatic "worklet" directive handling (replaces react-native-worklets/plugin; auto-on for React Native)
  • Flow — type annotations handled in the parser (replaces @babel/preset-flow; auto-on for React Native)

See the Native Transforms guide for full usage.

ZNTC is compatible with esbuild’s CLI options and behavior while providing a Rollup/Rolldown-style plugin system.

FeatureZNTCesbuild
LanguageZigGo
TypeScriptOO
FlowOX
React NativeOX
preserve-modulesOX
Plugin styleRollup-compatibleesbuild-native
WASMOO