Bun 1.3: The JavaScript Runtime Dominating the Market in 2025
Hello HaWkers, Bun 1.3 was released in October 2025 and the numbers are impressive. With 8x faster startup than Node.js and 70k+ stars on GitHub, the runtime is conquering the market.
Let's analyze the new features and understand if it's worth migrating.
What is Bun
More Than A Runtime
Bun is not just a JavaScript runtime. It's a complete toolkit that consolidates fragmented tools into a single solution.
What Bun includes:
- Runtime: Executes JavaScript/TypeScript
- Bundler: Packages code for production
- Test Runner: Integrated tests
- Package Manager: Alternative to npm/yarn
- Transpiler: Native TypeScript
Bun is an incredibly fast JavaScript runtime, bundler, test runner, and package manager - all in one.
Bun 1.3: The New Features
October 2025 Launch
Version highlights:
- Massive performance improvements
- 100x reduction in CPU idle
- 40% reduction in memory idle
- New compatibility features
Bun v1.3.2 (November 2025)
Latest fixes:
| Feature | Description |
|---|---|
| CompressionStream | Native support |
| DecompressionStream | Native support |
| .env control | Control in standalone executables |
| bunfig.toml | Configurable loading |
| bun:test | retry and repeats |
| SQLite 3.51.0 | Updated version |
| Zig 0.15.2 | Toolchain upgrade |
| 95 issues | Fixed (348 upvotes) |
Benchmarks: Bun vs Node.js vs Deno
Startup Time
Cold start comparison:
| Runtime | Time | vs Bun |
|---|---|---|
| Bun 1.3 | ~8ms | Base |
| Deno 2.5 | ~35ms | 4x slower |
| Node.js 24 | ~42ms | 5x slower |
In startup tests, Bun 1.3 shows ~8ms compared to Deno 2.5 with ~35ms and Node.js 24 with ~42ms, making it 5-8x faster for cold starts.
CPU and Memory Usage
v1.3 optimizations:
| Metric | Before | After | Reduction |
|---|---|---|---|
| CPU idle | Base | 100x lower | 99% |
| Memory idle | Base | 40% lower | 40% |
Integrating JavaScript Core's garbage collector with Bun's event loop achieved a 100x reduction in CPU idle and 40% in memory idle.
HTTP Server Performance
Requests per second:
## Benchmark: Hello World HTTP Server
Bun: 145,000 req/s
Deno: 85,000 req/s
Node.js: 65,000 req/s
## With JSON serialization
Bun: 120,000 req/s
Deno: 70,000 req/s
Node.js: 52,000 req/s
Bun 1.3 Features
Super Fast Package Manager
Installation comparison:
# Installing dependencies for medium project (500 deps)
# npm
$ time npm install
real 45.2s
# yarn
$ time yarn install
real 32.1s
# pnpm
$ time pnpm install
real 18.4s
# bun
$ time bun install
real 4.2s # 10x faster than npm!Integrated Test Runner
bun:test features:
// test.ts - Bun native testing
import { expect, test, describe } from 'bun:test';
describe('Math operations', () => {
test('addition', () => {
expect(1 + 1).toBe(2);
});
// New in 1.3.2: retry
test('flaky network call', { retry: 3 }, async () => {
const response = await fetch('https://api.example.com/data');
expect(response.ok).toBe(true);
});
// New in 1.3.2: repeats
test('consistency check', { repeats: 10 }, () => {
expect(Math.random()).toBeGreaterThan(0);
});
});Native TypeScript
No additional configuration:
// index.ts - runs directly
import { serve } from 'bun';
interface User {
id: number;
name: string;
}
const users: User[] = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
];
serve({
port: 3000,
fetch(request) {
return Response.json(users);
},
});
// Execute with: bun index.ts (no tsc!)
Integrated SQLite
Database Without Dependencies
Bun has SQLite built-in, no external packages needed.
import { Database } from 'bun:sqlite';
// Create in-memory or file database
const db = new Database(':memory:');
// or
const db = new Database('myapp.sqlite');
// Create table
db.run(`
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE
)
`);
// Insert with prepared statement
const insert = db.prepare(
'INSERT INTO users (name, email) VALUES ($name, $email)'
);
insert.run({
$name: 'Alice',
$email: 'alice@example.com',
});
// Typed query
interface UserRow {
id: number;
name: string;
email: string;
}
const users = db.query<UserRow, []>('SELECT * FROM users').all();
console.log(users);SQLite 3.51.0
New included version:
- Performance improvements
- New SQL features
- Bug fixes
- Better compatibility
Market Adoption
2025 Numbers
Adoption statistics:
| Metric | Value |
|---|---|
| GitHub Stars | 70k+ |
| New projects considering | 32% |
| Surpassed Deno | Yes |
| Companies using | Shopify, Vercel |
Platform Support
Deploy options:
- Vercel: Official Bun Runtime support
- Railway: Native deploy
- Fly.io: Containers with Bun
- AWS Lambda: Via container
- Cloudflare Workers: Partial
Vercel now supports Bun Runtime, allowing developers to deploy and run applications with Bun on Vercel Functions.
2025-2026 Roadmap
What's Coming
Announced plans:
- Native Windows: Native performance on Windows
- 99% NPM compatibility: Almost all packages
- Professional debug tools: Advanced debugging
- Bun Cloud: Vercel/Deno Deploy competitor
- Monorepos: Improved support
Bun Cloud
New deployment platform:
- Direct deploy of Bun projects
- Vercel competitor
- Optimized for Bun runtime
- Competitive pricing expected
Migrating From Node.js To Bun
Compatibility
What works:
## Supported
- Express.js
- Fastify
- Hono
- Most npm packages
- TypeScript (native)
- JSX/TSX
- ES Modules
- CommonJS
## Partially supported
- Node.js native addons (some)
- Streams API (improving)
- Worker threads (limited)
## Not supported
- Some packages with native code
- Deprecated Node.js APIsStep by Step
Gradual migration:
# 1. Install Bun
curl -fsSL https://bun.sh/install | bash
# 2. Convert package-lock.json
bun install # Creates bun.lockb
# 3. Test your app
bun run dev
# 4. Update scripts in package.json
{
"scripts": {
"dev": "bun --watch src/index.ts",
"start": "bun src/index.ts",
"test": "bun test"
}
}
# 5. Check compatibility
bun pm trust # If needed for native modules
When to Use Bun
Ideal Use Cases
Bun shines in:
- Fast APIs: Maximum performance
- Serverless: Minimal cold start
- CLI tools: Instant startup
- Scripts: TypeScript without build
- Monorepos: Fast package manager
When to Avoid
Still prefer Node.js:
- Complex native addons: Limited compatibility
- Enterprise legacy: Existing integration
- Specific ecosystem: Untested packages
- Critical production: Node.js more mature
Final Comparison
Bun vs Deno vs Node.js
2025 summary:
| Aspect | Bun | Deno | Node.js |
|---|---|---|---|
| Startup | ★★★★★ | ★★★☆☆ | ★★☆☆☆ |
| Compatibility | ★★★★☆ | ★★★☆☆ | ★★★★★ |
| TypeScript | Native | Native | Via tsc |
| Security | Basic | Advanced | Basic |
| Ecosystem | Growing | Medium | Massive |
| Enterprise | Emerging | Medium | Dominant |
Conclusion
Bun 1.3 represents a milestone in JavaScript runtime evolution. The performance is impressive, the all-in-one toolkit solves fragmentation, and adoption is accelerating.
For new projects, especially APIs and serverless, Bun is a solid choice. For existing projects, migration is possible but requires careful compatibility testing.
The future of JavaScript runtime is getting interesting. With Bun, Deno, and Node.js competing, developers are the biggest beneficiaries.
If you want to understand more about the JavaScript ecosystem in 2025, I recommend checking out the article about TypeScript Surpasses Python where we analyze the most used languages on GitHub.
Let's go! 🦅
🚀 Master JavaScript Regardless of Runtime
Bun, Node, or Deno - JavaScript is the foundation. Mastering the fundamentals is what matters.
Complete Material
I've prepared a guide from basics to advanced:
Investment:
- 1x of $4.90 on card
- or $4.90 at sight

