⚓ Oxc
/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
🏗️ Design Principles
- 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.
📦 Tools & Packages
| 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.
⚡️ Quick Start
Linter
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:
Formatter
Fast, opinionated code formatter compatible with Prettier:
npx oxfmt@latestParser (Node.js)
The fastest JavaScript/TypeScript parser written in Rust:
npm install oxc-parserimport { parseSync } from 'oxc-parser';
const result = parseSync('const x = 1;');Transformer (Node.js)
TypeScript, React, and modern JavaScript transformation:
npm install oxc-transformimport { transform } from 'oxc-transform';
const result = transform('source.tsx', code, { typescript: true });Minifier (Node.js)
High-performance JavaScript minifier:
npm install oxc-minifyimport { minify } from 'oxc-minify';
const result = minify(code, { mangle: true });Rust
Individual crates are published for building your own JavaScript tools:
[dependencies]
oxc = "0.x"VoidZero Inc.
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!
🙋 Who's using Oxc?
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.
✍️ Contribute
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
🤝 Credits
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?
📖 License
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.

