Quick answer
Cloudflare Workers provides 128 MB of memory per isolate. That budget includes the JavaScript heap and WebAssembly allocations and is shared by concurrent work handled by the isolate.
Verified Aug 22, 2026Official source
Current limits
| Constraint | Current value | Scope | Verified source |
|---|---|---|---|
| Memory per isolateIncludes the JavaScript heap and WebAssembly allocations; one isolate can serve concurrent requests. | 128 MB | Free and Paid | CloudflareAug 22, 2026 |
Why does this limit matter?
Loading entire request or response bodies into memory can exhaust the isolate even when the transmitted body is accepted at the network layer.
One isolate can process multiple concurrent requests, so per-request estimates alone can be misleading.
What should you check?
- Look for exceededMemory outcomes and Error 1102 in Workers metrics and logs.
- Stream large bodies instead of buffering them.
- Move durable large data to KV, R2, or another external store.
Important caveats
- The limit is per isolate rather than per invocation.
- When memory is exceeded, in-flight work may finish while subsequent work moves to another isolate; high load can still cause cancellations.
HyperObserve reports the documented platform constraint. Your application, SDK, gateway, provider, region, or account can impose a lower effective limit.
Related