Bun 1.4.4 adds bun fmt, a Prettier-compatible formatter
Bun 1.4.4, released October 22, 2026, adds bun fmt, a Prettier-compatible formatter Bun says checks Prettier's own repo 286x faster than Prettier.
4 min read

By the numbers
- bun fmt --check on Prettier's repo, per Bun
- 59.7 ms
- Prettier 3.9.10 on the same repo
- 17.1 s
- faster bun check on MUI docs than Bun 1.4.3
- 7.8x
Bun 1.4.4, released October 22, 2026, adds bun fmt, a code formatter built into the Bun runtime that reads your existing Prettier config. On Prettier's own repository, Bun says bun fmt --check takes 59.7 milliseconds where Prettier takes 17.1 seconds. The release also speeds up bun check and migrates Yarn Berry lockfiles.
Bun is a JavaScript runtime that also bundles a package manager, test runner and type checker. A formatter rewrites code into one consistent style, so teams stop arguing about spaces and line breaks.
What bun fmt does
bun fmt is a port of Prettier, a widely used JavaScript formatter, according to the Bun v1.4.4 release notes by Jarred Sumner. It reads the config files a project already has:
.prettierrc*,prettier.config.*and theprettierkey inpackage.json.editorconfigand.prettierignore- configs for oxfmt, another formatter
- a
[fmt]section inbunfig.toml
It formats JavaScript, TypeScript, JSX, CSS, SCSS, HTML, Vue, Svelte, JSON, YAML, TOML, Markdown, MDX and GraphQL, among others. Tailwind class sorting, package.json key sorting and Svelte support are built in, so those Prettier plugins are not needed. Import sorting is also built in but off by default.
Languages that still need a Prettier plugin, such as Astro, fall back to the project's installed Prettier. An unsupported plugin makes bun fmt print an error, skip the affected files and exit with code 2. The existing bun format command still runs a project's own format script.
Bun's benchmark numbers
These figures are Bun's own and have not been independently checked.
| Test | bun fmt | Comparison |
|---|---|---|
| Prettier's repo, 2,616 files | 59.7 ms, 48 MB | Prettier 3.9.10: 17.1 s, 459 MB (286x) |
| vitest, date-fns, monkeytype, h3 | 234x to 425x faster than Prettier 3.9.9 | |
| vite, with its own config | 65.2 ms | oxfmt 0.74.0: 406.7 ms (6.2x) |
| fumadocs, with its own config | 44.6 ms | oxfmt 0.74.0: 1,395 ms (31x) |
The post's summary line says bun fmt is 3x to 6x faster than oxfmt, though its own fumadocs row shows 31x. On output, Bun reports that 9,648 of 9,731 Prettier formatting tests match, or 99.1%. Compared with Prettier plus its common plugins, 97.9% of JavaScript and TypeScript output was identical.
AICoder, reporting when the formatter landed in Bun's main branch on October 12, cited a different test. Checking the format of VS Code's source used 2.9 seconds of CPU time with Bun, against 295 seconds with Prettier 3.9.9.
Faster bun check and bun install
The release also builds on the type checker that arrived in Bun 1.4.3 adds bun check, a faster TypeScript type checker. On MUI's docs, bun check now takes 1.31 seconds instead of 10.28, and peak memory falls from 11.2 GB to 1.3 GB. One project got slower: Bun's own src/js went from 0.11 to 0.20 seconds.
bun install now migrates Yarn 2 and later ("Yarn Berry") lockfiles to bun.lock and keeps the pinned versions. Bun 1.4.3 only handled Yarn v1. Failed downloads now retry up to five times with growing delays. "In Bun v1.4.3, all five retries happened within 5 ms, so a brief registry outage would fail the install," Sumner writes.
The release fixes 271 issues and includes security fixes for TLS, WebSocket, the database clients and the package manager, though the post gives no details. It also claims Bun.SQL uses up to 48% less client CPU per query.
Breaking changes to check
The post lists several behavior changes inline:
- Glob patterns such as
{1..3}and!(g)/a.tsnow act as patterns instead of literal text. bun publishrefuses prerelease versions without--tag, and--provenancenow raises an error.Bun.hash()throws onnullandundefinedinstead of hashing them.- TLS servers ask for client certificates only when
requestCert: trueis set. - Coverage "% Lines" in
bun testcan drop after upgrading, so check anycoverageThreshold.
What this means for developers
Bun now puts a Prettier-compatible formatter inside a tool many teams already run, which removes one dependency from a JavaScript project.
- Test it in CI before you switch. Run
bun fmt --checkon a branch and diff the result against Prettier. With 97.9% identical output, expect a small number of changed files. - Check your plugins. An unsupported Prettier plugin makes
bun fmtexit with code 2, which will fail a CI job. - Upgrade for the security fixes. Run
bun upgrade. Bun lists fixes for TLS and WebSocket, which matter most for servers running on Bun. - Review the breaking changes first. Glob behavior,
bun publishrules and TLS client certificates all changed. Run your test suite on 1.4.4 before rolling it out.
Sources
Related articles

Bun 1.4.3 adds bun check, a faster TypeScript type checker
Bun 1.4.3 adds bun check, a built-in TypeScript type checker that Bun says runs 3x to 6.4x faster than tsc 7.0.2 and passes all 51,210 conformance tests.

Tools This Week: October 23, 2026 - DuckDB 2.0, TorchTPU
Six developer tools this week, led by DuckDB 2.0's long-term support release and TorchTPU, plus TypeScript 7.1 Beta, Perplexity SPACE and DeepInfer.

Node.js 26.12.1, 24.22.1, 22.23.4 fix 10 security flaws
Node.js fixed 10 vulnerabilities on October 21, 2026, four rated high, including a Brotli decoder bug that can allow remote code execution.
The weekly digest
One email every Friday with the week's top stories from all six desks: AI, dev tools, coding, the tech industry, startups and what's next. Free, no spam.