Skip to content

rbx-tsx

Write React components in TypeScript/TSX, get clean, fully typed, dependency-free Luau for Roblox.

rbx-tsx is a TSX/TypeScript → Luau compiler targeting react-lua for Roblox. It parses TS/TSX with the real TypeScript compiler API, transforms the AST, and emits dependency-free Luau with full type annotations preserved.

No runtime dependency

Compiles to standalone Luau. JS APIs like console, Math, JSON, Array, and RegExp are inlined directly into the output — no polyfill package required.

Fully typed output

Interfaces, generics, unions, and optionals all survive the trip to Luau type annotations. Output is designed to be read and debugged.

JSX & React built-in

JSX compiles straight to React.createElement. Write <div>, <button>, <input> — they map to Roblox GUI classes automatically.

Rojo + Wally

rbx-tsx init scaffolds a Rojo-ready project. Path resolution reads your default.project.json for game:GetService(...) require paths.

The Playground runs the full compiler — including the TypeScript type-checker — entirely in your browser. TypeScript/TSX on the left, compiled Luau on the right, with a live problems panel. Output matches the CLI exactly.