v150 · Workers · Migration

Blob URL Converter

Chrome 150 breaks code that creates workers from data: URLs and then uses origin-gated APIs like BroadcastChannel. The fix is simple: wrap the same code in a Blob and use URL.createObjectURL(). The worker inherits the page's origin and everything works again. This tool converts the old pattern to the new one.

Example patterns to convert

BroadcastChannel worker

Worker that posts to a named channel — broken by null origin

Simple echo worker

Stateless compute worker — works fine with data: URL too

Stateful counter worker

Worker with state — no channel access, safe either way

Shared state via postMessage

Worker using postMessage (not BroadcastChannel) — safe

Worker script (just the inner code, not the data: URL wrapper)
Paste a worker script to convert it.
Generated code — Blob URL pattern (Chrome 150 compatible)
Live test — create the Blob URL worker and call it
// Click "Create & test worker" to run live…

see also

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗