Bun

Vercel now supports the Bun Runtime


Jarred Sumner, Lydia Hallie · October 28, 2025

You can now run your applications on the Bun Runtime on Vercel.

Support is available today as a public beta for all projects.

From package manager to full runtime support

In 2023, bun install support on Vercel became their most upvoted feature request ever.

Developers wanted Bun, and Vercel delivered. Support for bun install was already added back in 2023.

Today, that support goes further.

Vercel now has built-in support for the Bun Runtime. This means that you can now run your apps on Bun itself, powered by the same focus on speed and performance.


You can enable Bun by adding "bunVersion": "1.x" to your vercel.json.

{
   "bunVersion": "1.x"
}

The value should be "1.x". Vercel manages the minor version.

Once set, Vercel detects the configuration, installs Bun if needed, and runs your project natively. This works both locally with vercel dev and in production.

Your Next.js, Hono, or custom API routes will now execute on the Bun Runtime. More framework support is coming soon.

Built for modern JavaScript

Bun combines a JavaScript runtime, bundler, test runner, and package manager into a single fast toolchain. With Bun on Vercel, you can expect:

  • Lower memory and CPU usage. Bun is built in Zig and optimized for efficiency, reducing resource consumption at scale.
  • Access to all Bun APIs. Use Bun.SQL, Bun.S3, Bun.file, Bun.password.hash, or any other Bun API directly in your functions and components.
  • Access to many Web APIs. Bun supports many Web APIs, and aims for full compatibility with Node.js.

Bun with Next.js

Next.js works out of the box with the Bun Runtime on Vercel.

To use Bun in your build and start commands, add the bun run --bun (or the shorter bun --bun) syntax:

package.json
{
  "scripts": {
     "dev": "bun --bun next dev",
     "build": "bun --bun next build",
     "start": "bun --bun next start"
  }
}

Next.js will still use its own bundler (Turbopack or Webpack) to bundle/compile. This command makes sure that the runtime underneath—which is the part that's executing JavaScript, reading files, serving responses, etc.—is Bun.

This allows you to call Bun's APIs natively inside Server Functions or React Server Components.

app/blog/page.tsx
  import { s3, $, sql } from 'bun'

export default async function BlogPage({ params: { slug } }) {
   const [post] = await sql`
     SELECT title, image_key, content_html
     FROM posts
     WHERE slug = ${slug}
   `

   const imgUrl = s3.file(post.image_key).presign({ expiresIn: 3600 })
   const wordCount = await $`echo "${post.content_html}" | wc -w`

  return ...
}

No adapters, no setup. It just works.

Public beta status

This is the first public release of the Bun Runtime on Vercel. It’s available to everyone, but remains in public beta while we get more feedback and improve the developer experience even further. We’re collaborating with the Vercel team to ensure a stable, high-quality experience for all users.

At Bun, we’re also actively expanding framework compatibility and performance so your projects run seamlessly, whether you’re using Next.js, Tanstack Start, Remix, Hono, you name it.

What’s next

It’s Vercel’s mission to make the web faster for developers. Bun shares that mission.

Together, we aim to bring a faster JavaScript runtime to the platforms developers already use to ship production apps.

Bun has already been supported on platforms like Railway, Render, and any Dockerized environment. Now, that support extends to Vercel.

Try it today

It's time for the Buntime.

Deploy your Bun-powered Vercel app today. Add "bunVersion": "1.x" to your vercel.json configuration, and deploy to Vercel. Your app will build and run on Bun automatically.

{
   "bunVersion": "1.x"
}

For support, please visit our docs, or join our Discord.