Deploy a Bun application on Vercel
Vercel is a cloud platform that lets you build, deploy, and scale your apps.
<Warning> The Bun runtime is in Beta; certain features (e.g., automatic source maps, byte-code caching, metrics on `node:http/https`) are not yet supported. </Warning> <Note> `Bun.serve` is currently not supported on Vercel Functions. Use Bun with frameworks supported by Vercel, like Next.js, Express, Hono, or Nitro. </Note><Steps> <Step title="Configure Bun in vercel.json"> To enable the Bun runtime for your Functions, add a `bunVersion` field in your `vercel.json` file:
code
```json vercel.json icon="file-json" theme={"theme":{"light":"github-light","dark":"dracula"}}
{
"bunVersion": "1.x" // [!code ++]
}
```
Vercel automatically detects this configuration and runs your application on Bun. The value has to be `"1.x"`, Vercel handles the minor version internally.
For best results, match your local Bun version with the version used by Vercel.
code
```json package.json icon="file-json" theme={"theme":{"light":"github-light","dark":"dracula"}}
{
"scripts": {
"dev": "bun --bun next dev", // [!code ++]
"build": "bun --bun next build" // [!code ++]
}
}
```
<Note>
The `--bun` flag runs the Next.js CLI under Bun. Bundling (via Turbopack or Webpack) remains unchanged, but all commands execute within the Bun runtime.
</Note>
This ensures both local development and builds use Bun.
code
```bash terminal icon="terminal" theme={"theme":{"light":"github-light","dark":"dracula"}}
# Using bunx (no global install)
bunx vercel login
bunx vercel deploy
```
Or install the Vercel CLI globally:
```bash terminal icon="terminal" theme={"theme":{"light":"github-light","dark":"dracula"}}
bun i -g vercel
vercel login
vercel deploy
```
[Learn more in the Vercel Deploy CLI documentation →](https://vercel.com/docs/cli/deploy)
code
```ts index.ts icon="https://mintcdn.com/bun-1dd33a4e/nIz6GtMH5K-dfXeV/icons/typescript.svg?fit=max&auto=format&n=nIz6GtMH5K-dfXeV&q=85&s=5d73d76daf7eb7b158469d8c30d349b0" theme={"theme":{"light":"github-light","dark":"dracula"}}
console.log("runtime", process.versions.bun);
```
```txt theme={"theme":{"light":"github-light","dark":"dracula"}}
runtime 1.3.3
```
[See the Vercel Bun Runtime documentation for feature support →](https://vercel.com/docs/functions/runtimes/bun#feature-support)
- •Fluid compute: Both Bun and Node.js runtimes run on Fluid compute and support the same core Vercel Functions features.
- •Middleware: To run Routing Middleware with Bun, set the runtime to
nodejs:
ts
export const config = { runtime: "nodejs" }; // [!code ++]