/oʊ ɛks siː/
The Oxidation Compiler is a collection of high-performance tools for JavaScript and TypeScript written in Rust.
Oxc is part of VoidZero's vision for a unified, high-performance toolchain for JavaScript. It powers Rolldown (Vite's future bundler) and enables the next generation of ultra-fast development tools that work seamlessly together.
For more information, check out our website at oxc.rs.
* Oxidation is the chemical process that creates rust
- Performance: Through rigorous performance engineering.
- Correctness: Through conformance testing to standards and similar projects.
- Developer Experience: Clear APIs, comprehensive documentation, and sensible configuration.
- Modular composability: Use individual components independently or compose them into complete toolchains.
Read more about our architecture and performance philosophy.
| Tool | npm | crates.io | Downloads |
|---|---|---|---|
| Linter | oxlint | - | |
| Formatter | oxfmt | - | |
| Parser | oxc-parser | oxc_parser | |
| Transformer | oxc-transform | oxc_transformer | |
| Minifier | oxc-minify | oxc_minifier | |
| Resolver | oxc-resolver | oxc_resolver |
See documentation for detailed usage guides for each tool.
The production-ready linter catches mistakes for you with sensible defaults and optional configuration:
npx oxlint@latestTo give you an idea of its capabilities, here is an example from the vscode repository, which finishes linting 4800+ files in 0.7 seconds:
Fast, opinionated code formatter compatible with Prettier:
npx oxfmt@latestThe fastest JavaScript/TypeScript parser written in Rust:
npm install oxc-parserimport { parseSync } from 'oxc-parser';
const result = parseSync('const x = 1;');TypeScript, React, and modern JavaScript transformation:
npm install oxc-transformimport { transform } from 'oxc-transform';
const result = transform('source.tsx', code, { typescript: true });High-performance JavaScript minifier:
npm install oxc-minifyimport { minify } from 'oxc-minify';
const result = minify(code, { mangle: true });Individual crates are published for building your own JavaScript tools:
[dependencies]
oxc = "0.x"Oxc is a project of VoidZero, see our announcement Announcing VoidZero - Next Generation Toolchain for JavaScript.
If you have requirements for JavaScript tools at scale, please get in touch!
Rolldown and Nuxt use Oxc for parsing. Rolldown also uses Oxc for transformation and minification. Nova, swc-node, and knip use oxc_resolver for module resolution. Preact, Shopify, ByteDance, and Shopee use oxlint for linting.
Check out some of the good first issues or ask us on Discord.
See CONTRIBUTING.md for guidance, or read the complete contributing guide on our website →
If you are unable to contribute by code, you can still participate by:
- Add a GitHub Star to the project
- Join us on Discord
- Follow me on X and post about this project
This project was incubated with the assistance of these exceptional mentors and their projects:
- Biome - @ematipico
- Ruff - @charliermarsh, @MichaReiser
- quick-lint-js - @strager
- elm-review - @jfmengels
Special thanks go to:
- @domonji for bootstrapping this project together and also completing the TypeScript parser
- @tongtong-lu and @guan-wy for designing the project logo
❤ Who's Sponsoring Oxc?
Oxc is free and open-source software licensed under the MIT License.
Oxc ports or copies code from other open source projects, their licenses are listed in Third-party library licenses.

