Devflare Docs
Binding reference Bindings

Use Browser Rendering when the worker really needs a headless browser path

Browser Rendering lets Workers drive a headless browser for screenshots, PDFs, and page automation.

Browser Rendering shines in Devflare’s bridge-backed dev story: keep one browser binding, one narrow worker route, and one smoke path that proves launch works.

The platform limit is still real — exactly one browser binding — but Devflare adds the missing local ergonomics through the browser shim, binding worker, and integration-friendly route model.

Config key
Authoring shape
Best for
PDF generation, screenshots, and other worker-side headless browser tasks

Add the binding to config

Browser Rendering looks a little unusual in config because the current contract is a named map with exactly one entry. The env key matters more than the configured string value that appears beside it.

That is also why generated env typing stays conservative today: can model the binding as , while the richer browser behavior comes from the dev server shim and browser-aware libraries.

That single-binding constraint is not a Devflare whim. It reflects the current Wrangler and platform support Devflare is choosing to expose accurately.

Browser binding authoring

Use the binding from application code

After Devflare generates the worker env, import from and keep the first Browser Rendering path close to the route, handler, or service method that needs it.

Keep this first path small enough that the config, env binding, and user-visible behavior are easy to review together.

Read one page title with Puppeteer

Local and Remote Support

Devflare can run useful Browser Rendering application behavior locally for ordinary development and tests. Cloudflare still owns production limits, quotas, billing, and deployed account behavior.

Local support is the Devflare browser-rendering shim: the dev server starts a loopback-only browser bridge and binding worker that browser libraries can call during local development. Treat it as a practical local/dev path, then use Cloudflare for hosted Browser Rendering limits, session behavior, and product fidelity.

Use Cloudflare when the assertion depends on deployed limits, account state, lifecycle behavior, billing, or other production-only Browser Rendering details.

When this binding fits best

  • Use Browser Rendering when the worker truly needs a browser — for PDF generation, screenshots, or browser-like page evaluation.
  • Keep browser usage narrow and explicit because browser work is usually heavier than normal request handling.
  • If a feature can be expressed as a plain fetch or HTML transform, it probably should be.

Testing path

  • Only one browser binding is currently supported.
  • The strongest local story lives in dev-server and integration flows, not in a rich browser-specific test helper API.
  • Preview naming exists, but browser resources are not provisioned or deleted like account-managed storage resources.

Exactly one really means one

If you configure more than one browser binding, schema validation rejects it because the underlying Wrangler contract only supports one.

Open the next page when you need it