← Package directory
Available on winget

Install oxfmt

Oxfmt is a high-performance formatter for the JavaScript ecosystem.

Install with winget
winget install --id oxc-project.oxfmt
Upgrade
winget upgrade --id oxc-project.oxfmt
Uninstall
winget uninstall --id oxc-project.oxfmt

About oxfmt

Oxfmt is a high-performance formatter for the JavaScript ecosystem. - Supported languages JavaScript, JSX, TypeScript, TSX, JSON, JSONC, JSON5, YAML, TOML, HTML, Angular, Vue, CSS, SCSS, Less, Markdown, MDX, GraphQL, Ember, Handlebars - Built for scale Oxfmt targets large codebases and CI environments, with an emphasis on high throughput and predictable performance. It is built on the Oxc compiler stack and avoids architectural bottlenecks common in existing formatter implementations. Our benchmarks show Oxfmt to b...

What's new in 0.51.0

Bug Fixes - 8ee946f formatter/sort_imports: Use label to classify lines (leaysgur) - 8c1da44 formatter: Normalize destructuring keys in DCR (camc314)

Read release notes

Version history

Version Updated Notes
0.51.0 Unknown Bug Fixes - 8ee946f formatter/sort_imports: Use label to classify lines (leaysgur) - 8c1da44 formatter: Normalize destructuring keys in DCR (camc314)
0.50.0 Unknown πŸ’₯ BREAKING CHANGES - 21bb5d1 oxfmt: [BREAKING] Avoid config pre-scan (#22258) (leaysgur) πŸ› Bug Fixes - 441d724 oxfmt: Fix "race probe" logic with unit tests (#22378) (leaysgur) - e49ee26 formatter: Respect singleQuote fo...
0.49.0 Unknown πŸ’₯ BREAKING CHANGES - 5c6c390 oxfmt: [BREAKING] Respect more git ignore options, align with Oxlint (#22210) (leaysgur) πŸš€ Features - 6e8e818 oxfmt: Experimental .svelte support (#21700) (leaysgur) πŸ› Bug Fixes - e2a20b6 for...
0.48.0 Unknown Bug Fixes - ef0db6b formatter: Sequence expression in arrow function body collapses onto one line (#21183) (Justin Mecham) - 5d5d808 formatter: Preserve blank line after directive with trailing comment (#21153) (Justin M...
0.47.0 Unknown BREAKING CHANGES - 502e804 ast: [BREAKING] Reduce size of TSTypePredicateName (#21711) (overlookmotel) - 5651539 ast: [BREAKING] Reduce size of JSXExpression (#21710) (overlookmotel) - c44e280 ast: [BREAKING] Reduce size...
0.46.0 Unknown Table of Contents - Oxlint v1.61.0 - Oxfmt v0.46.0 Oxlint v1.61.0 πŸ’₯ BREAKING CHANGES - 24fb7eb allocator: [BREAKING] Rename Box and Vec methods (#21395) (overlookmotel) πŸš€ Features - 38d8090 linter/jest: Implemented jest...
0.45.0 Unknown Table of Contents - Oxlint v1.60.0 - Oxfmt v0.45.0 Oxlint v1.60.0 πŸ’₯ BREAKING CHANGES - 382958a span: [BREAKING] Remove re-exports of string types from oxc_span crate (#21246) (overlookmotel) - c4aedfa str: [BREAKING] Add...
0.44.0 Unknown Table of Contents - Oxlint v1.59.0 - Oxfmt v0.44.0 Oxlint v1.59.0 πŸ’₯ BREAKING CHANGES - 22ce6af oxlint/lsp: [BREAKING] Show/fix safe suggestions by default (#19816) (Sysix) πŸš€ Features - 7a7b7b8 oxlint/lsp: Add source.fixA...
0.43.0 Unknown Table of Contents - Oxlint v1.58.0 - Oxfmt v0.43.0 Oxlint v1.58.0 πŸ’₯ BREAKING CHANGES - c0ebbce linter: [BREAKING] Report error on unknown builtin rule (#20464) (camc314) πŸš€ Features - 04f85e5 linter/no-unused-vars: Add sa...
0.42.0 Unknown Table of Contents - Oxlint v1.57.0 - Oxfmt v0.42.0 Oxlint v1.57.0 πŸš€ Features - 2244984 linter: Implement vitest/prefer-strict-boolean-matchers rule (#20603) (Mikhail Baev) - c5f0ed3 linter/array-callback-return: Use CFG...
0.41.0 Unknown Table of Contents - Oxlint v1.56.0 - Oxfmt v0.41.0 Oxlint v1.56.0 πŸš€ Features - c95951f linter/plugins: Implement sourceCode.markVariableAsUsed (#20357) (overlookmotel) - 7a2a7d0 linter: Implement n/handle-callback-err ru...
0.40.0 Unknown Table of Contents - Oxlint v1.55.0 - Oxfmt v0.40.0 Oxlint v1.55.0 πŸ› Bug Fixes - 6b46ce8 oxlint: Ignore inherited root-only options in nested configs (#20291) (camc314) - bc20217 oxlint,oxfmt: Omit useless | null for Opti...
0.39.0 Unknown Table of Contents - Oxlint v1.54.0 - Oxfmt v0.39.0 Oxlint v1.54.0 πŸ› Bug Fixes - 4ea67de oxlint,oxfmt: Skip vite.config.ts exports defineConfig(fn) (#20260) (leaysgur) - cc89dbf oxlint: Skip vite.config.ts w/o .lint field...
0.36.0 Unknown Table of Contents - Oxlint v1.51.0 - Oxfmt v0.36.0 Oxlint v1.51.0 πŸš€ Features - 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls (off|suggestion|fix) (#19774) (camc314) - f34f6fa linter: Introduce typeChe...
0.35.0 Unknown Table of Contents - Oxlint v1.50.0 - Oxfmt v0.35.0 Oxlint v1.50.0 πŸš€ Features - 46177dd linter: Implement unicorn/prefer-module (#19603) (camc314) - 42f78bb linter: Implement unicorn/prefer-ternary (#19605) (camc314) πŸ› Bu...
0.34.0 Unknown Table of Contents - Oxlint v1.49.0 - Oxfmt v0.34.0 Oxlint v1.49.0 πŸ’₯ BREAKING CHANGES - 4315594 oxlint: [BREAKING] Deprecate "always" and "as-needed" options of the radix rule (#19408) (Sysix) - d4c7af3 linter: [BREAKING]...
0.33.0 Unknown Table of Contents - Oxlint v1.48.0 - Oxfmt v0.33.0 Oxlint v1.48.0 πŸ’₯ BREAKING CHANGES - 7711821 oxlint: [BREAKING] no-shadow-restricted-names report globalThis by default (#19407) (Sysix) πŸš€ Features - ce1baa0 linter: Impl...
0.28.0 Unknown πŸš€ Features - ee30de9 oxfmt: Add config migration from biome (#18638) (Luca Fischer) πŸ› Bug Fixes - e754b18 oxfmt/migrate-prettier: Set experimentalSortPackagejson: false by default (#18831) (leaysgur) - a83c266 formatter:...