/posts/announcing-oxfmt-alpha.md
Announcing Oxfmt Alpha
December 1, 2025

Announcing Oxfmt Alpha

Michael DongDunqingYuji Sugiura

Michael Dong, Dunqing, and Yuji Sugiura

For more technical details, implementations, and considerations for Oxfmt, see the blog post on the Oxc website.

TL;DR: Oxfmt is a fast Rust-based formatter that is available now in alpha stage and supports JavaScript and TypeScript files. It is 30x faster than Prettier while having >95% compatibility.


VoidZero is excited to announce the alpha release of Oxfmt (/oh-eks-for-mat/), the Rust-based code formatter. This release focuses on JavaScript and TypeScript, with support for additional languages coming soon. Oxfmt is a welcome addition to VoidZero’s existing projects of build tool, bundler, test runner, and linter.

Why Oxfmt?

The first stable version of Oxlint was released half a year ago. Since then, there have been consistent requests for styling changes like sorting imports. We firmly believe that a linter checks for logic, while a formatter focuses on code style. These requests fall within the domain of a formatter.

However, existing tools don't always respect this boundary. Meaning additional configurations are needed to disable overlapping rules. By building both Oxfmt and Oxlint, we're able to reduce setup configurations and create a better developer experience.

Oxfmt is designed with these goals in mind:

  • Performance: More than 30× faster than Prettier and more than 3× faster than Biome on an initial run without cache (benchmark).
  • Compatibility: Prettier-compatible, so developers can adopt Oxfmt in existing projects easily.
  • Developer Experience: Upcoming features include import sorting, expanded formatting options, and support for Prettier plugins.

Prettier compatibility

VoidZero designs tools to be compatible with existing solutions because:

  1. It makes the developer’s migration path smooth and painless.
  2. It ladders towards becoming a complete replacement.

Like how Vitest is compatible with Jest, Oxfmt is designed to be compatible with Prettier.

Oxfmt currently passes around 95% of Prettier’s JavaScript and TypeScript tests. There should be minimal formatting differences when migrating from Prettier. VoidZero has been actively submitting bug reports and pull requests directly to Prettier to reduce the remaining differences. Many of these improvements landed in the recent Prettier 3.7 release.

While Oxfmt does not yet support all of Prettier’s configuration options, it does support major options like singleQuote, printWidth, and more. (full list)

Next steps

For Oxfmt’s beta release, VoidZero is working on:

  • Stabilizing experimental options. Specifically, built in support for import sorting and embedded language formatting like CSS-in-JS.
  • Enabling more Prettier plugins. Including researching how to support plugins for popular frameworks like Vue, Svelte, and Astro.
  • And more.

We’d love to hear your feedback on Oxfmt, and are excited to see how it helps improve your development workflow.

Connect with us:

Acknowledgements

VoidZero would like to extend our gratitude to:

  • @ematipico@MichaReiser, and the entire team and community at Biome and Rome. Oxfmt is builds on a fork of the biome_formatter infrastructure.
  • @fisker for triaging our reported issues for Prettier

Get all of our updates directly to your inbox. Sign up for our newsletter.

04CallToAction.vue

Interested in the future of JavaScript tooling and want to stay ahead of the curve?

We’d love to talk to you.

ContactButton.vueserved in 13ms@click=”contact”