Skip to content
Run BunYour friendly Bun playground
Canary build: these docs may describe unreleased changes. Read this page on docs.runbun.dev

Browsers

BrowserStatusTested
Chrome / Edge 133+WorksChrome 156
Firefox 134+WorksFirefox 157
Safari (macOS) Edit only: no WebAssembly Memory64 yetSafari 26.5, Safari Technology Preview
Any browser on iOS / iPadOS Edit only: all use Safari’s engine
Chrome / Firefox on AndroidUntested

“Edit only” means you get the editor, examples and sharing, but can’t run code. WebKit’s development builds have Memory64, so Safari should work once it ships there.

Without these, the playground opens in edit-only mode, with a banner naming what’s missing. Run, Install and the preview request bar are disabled.

FeatureWhyChromeFirefoxSafari
WebAssembly Memory64Bun’s crates are compiled to wasm64.
Secure context (HTTPS)Required by service workers.
Service workersServe your modules (/__vfs/) and the preview (/__preview/). Private windows may disable them.
Module workersYour code runs in a module Web Worker.

The playground uses these when the browser has them and works without them.

FeatureUsed forWithout itChromeFirefoxSafari
Origin Private File SystemSaves your projects.Nothing is kept across reloads.
File System Access (showDirectoryPicker)Saves edits back to a folder opened from disk.Opening a folder loads a copy.
Storage BucketsKeeps saved projects in their own bucket, which the browser evicts and persists apart from other site data.Projects share the site’s default storage.
navigator.storage.persist()Asks the browser not to evict saved projects.Saved projects can be cleared when disk space runs low.
Web LocksOnly one tab saves a project at a time.Two tabs with the same project overwrite each other’s saves.
Cross-origin isolation (COEP: credentialless)The site sends COOP: same-origin and COEP: credentialless.Safari ignores credentialless and isn’t isolated; the playground still runs.

Embeds run in the same browsers, with these differences.

CaseStatusNotes
Chrome / Edge 133+, Firefox 134+WorksEvery mode, the API, the modal and several embeds on one page; checked in Chrome and Firefox 160 from another origin.
Safari and iOS Edit onlyThe embed shows and edits the code but can’t run it, and sends unsupported.
Vite / Rolldown projects in an iframePartialThey need cross-origin isolation. It works only if the host page is isolated (COOP: same-origin, COEP: credentialless) and the iframe has allow="cross-origin-isolated". Otherwise run them on runbun.dev.
Everything else in an iframeWorksNo isolation needed.
StoragePartialThe service worker and OPFS are partitioned per host site. The first visit on each site downloads the wasm again.
  • Reload normally. A hard refresh bypasses the service worker and leaves the page uncontrolled; reload again to recover.
  • Keep the playground tab open. The preview, including one opened in its own tab, is served by the playground tab. Close it and the preview shows “The playground isn’t open”.