Oxc (the Oxidation Compiler) is a set of Rust-built tools for parsing, linting, transforming, minifying, and resolving JavaScript and TypeScript. It's aimed at developers building JS tooling (bundlers, linters, formatters) or teams who want faster lint and build steps than JS-based tools provide. Oxc already powers Rolldown (Vite's bundler) and is used by projects like Nuxt, Nova, and Preact.
npx oxlint@latest.npx oxfmt@latest.Oxc fits teams building custom JS/TS tooling on top of a fast parser or resolver instead of writing their own from scratch. It also fits projects that want a drop-in faster linter (Oxlint) or formatter (Oxfmt) to replace slower JS-based tools in CI or local dev, without changing much else in the workflow. Bundler and build-tool authors can use the transformer and minifier components directly instead of shipping their own TS-to-JS transform or minification pass.
It's a good fit if you're already comfortable pulling in Rust-based CLI tools or Rust crates into a JS-focused pipeline, and if raw lint/build speed matters to your codebase size. It's not a good fit if you need a mature plugin ecosystem matching ESLint's plugin catalog exactly, since Oxlint's rule set and plugin surface differ from ESLint's. It's also not the right pick if you want a all-in-one framework or bundler out of the box. Oxc supplies the underlying tools; something like Rolldown is the bundler built on top of it.
Most people interact with Oxc through its packaged tools rather than building the compiler itself.
To lint a codebase, run Oxlint directly with npx:
npx oxlint@latest
To format a codebase, run Oxfmt:
npx oxfmt@latest
For building tooling on top of Oxc's components (parser, transformer, minifier, resolver), consult the individual usage guides on the project website: the parser guide, transformer guide, minifier guide, and resolver guide (linked from oxc.rs/docs/guide/usage/). Since Oxc is a Rust project, integrating its crates (such as oxc_resolver) into a Rust codebase follows the normal cargo add workflow, pulling the relevant crate from crates.io or from source.
For contributing to the project itself, clone the repository and follow the steps in CONTRIBUTING.md, or check the contributing guide on the website. Good first issues are tagged on GitHub, and the team is reachable on Discord for questions.
The project also has an online playground (playground.oxc.rs) for trying out the parser and transformer without installing anything locally.