Cloudflare Queues vs Inngest
SEPT 2026 auditA comparison of Cloudflare Queues and Inngest built from values read directly from each provider's own documentation, with the source recorded against every figure.
The short answer
Choose Cloudflare Queues if…
Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.
Editorial · Palash Bagchi · approved
Choose Inngest if…
Multi-step workflows that need durable execution and retries between steps, rather than a bare queue you write a consumer for.
Editorial · Palash Bagchi · approved
Consider something else if…
- Cloudflare Queues: Billing is per 64 KB operation rather than per message, so a large payload or a chatty retry loop costs several times what the message count suggests.
- Inngest: Every step is a billable execution, so a three-step workflow costs three times what the run count implies, and the free plan allows five concurrent steps.
Neither quite fits? Every other option, ranked by iScore: Cloudflare Queues alternatives · Inngest alternatives
8 sourced criteria separate them — see where, with sources, below.
Pick the criteria you care about. The chart counts how many of them lean toward each provider — the same read as scanning the bars below, just totalled for the ones you chose.
Cloudflare Queues 0
Inngest 0
At a glance.
| Criterion | Cloudflare Queues | Inngest |
|---|---|---|
| Pricing | ||
| Free tier | Yes | Yes |
| Kind of free offer | Free tier | Free tier |
| What the free plan includes | The first 1,000,000 standard operations a month are not billed; beyond that the rate is $0.40 per million, and each message costs three operations. | 50,000 executions and 500,000 events ingested a month with 5 concurrent steps, no credit card required. |
| Pricing model | Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day. | Per execution, where a step counts the same as a run, plus separate meters for events ingested, span data, scores and realtime connections. The pricing page ships a calculator because the execution count is not the run count. |
| Queues | ||
| Included per month | 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day. | 50,000 executions a month on the free Hobby plan and 1,000,000 on Pro, pay-as-you-go to 20M. An execution is one function run or one step, so a run with two steps counts as three. |
| Maximum message size | 128 KB per message, with roughly 100 bytes of that taken by internal metadata. | 4 MiB per step-returned payload; 32 MiB total function run state; 10 MiB hard cap per event batch. |
| Message retention | 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours. | Queue depth rather than a time window: 100,000 queued items on the free plan and 1,000,000 or more on Pro. Trace retention is 7 days on Pro and 90 on Enterprise. |
| Maximum delay | 24 hours, set with delaySeconds when sending or retrying. | Step sleeps up to 1 year on paid plans; the free plan supports sleeps up to 7 days. |
| Concurrency | 250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second. | 5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise. |
| Dead letter queue | Supported | Not supported — No dead-letter queue; failed runs stay in the dashboard and are re-run in bulk with Replay. |
Where they differ.
What the free plan includes
- Cloudflare Queues
- The first 1,000,000 standard operations a month are not billed; beyond that the rate is $0.40 per million, and each message costs three operations.
- Inngest
- 50,000 executions and 500,000 events ingested a month with 5 concurrent steps, no credit card required.
Sources (2) →Sources ↓
- Queues Pricing — Cloudflare ↗
“you can use the following formula to estimate your monthly bill: ((Number of Messages * 3) - 1,000,000) / 1,000,000 * $0.40”
Read 2026-09-13 · official docs · Report a correction
- Pricing — Inngest ↗
“Hobby [...] $0/mo No credit card required [...] 50k executions [...] 5 concurrent steps [...] 500k events ingested”
Read 2026-09-13 · official pricing · Report a correction
Pricing model
- Cloudflare Queues
- Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day.
- Inngest
- Per execution, where a step counts the same as a run, plus separate meters for events ingested, span data, scores and realtime connections. The pricing page ships a calculator because the execution count is not the run count.
Sources (2) →Sources ↓
- Pricing — Cloudflare Queues docs ↗
“An operation is counted for each 64 KB of data that is written, read, or deleted. [...] Standard operations 10,000 operations/day included 1,000,000 operations/month included + $0.40/million operations [...] In most cases, it takes 3 operations to deliver a message: 1 write, 1 read, and 1 delete.”
Read 2026-09-07 · official docs · Report a correction
- Pricing — Inngest ↗
“TOTAL EXECUTIONS PER MONTH (30,000 runs × 2 steps per run) + 30,000 runs = 90,000 executions [...] 500 MB span data ingested [...] 10K scores [...] 500k events ingested [...] 50 realtime connections”
Read 2026-09-06 · official pricing · Report a correction
Included per month
- Cloudflare Queues
- 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day.
- Inngest
- 50,000 executions a month on the free Hobby plan and 1,000,000 on Pro, pay-as-you-go to 20M. An execution is one function run or one step, so a run with two steps counts as three.
Sources (2) →Sources ↓
- Pricing — Cloudflare Queues docs ↗
“1,000,000 operations/month included + $0.40/million operations [...] An operation is counted for each 64 KB of data that is written, read, or deleted. [...] In most cases, it takes 3 operations to deliver a message [...] 10,000 operations/day included”
Read 2026-09-06 · official docs · Report a correction
- Pricing — Inngest ↗
“50k executions [...] 1M executions included Pay as you go up to 20M [...] (30,000 runs × 2 steps per run) + 30,000 runs = 90,000 executions [...] A single durable function run or step execution”
Read 2026-09-06 · official pricing · Report a correction
Maximum message size
128 KB per message, with roughly 100 bytes of that taken by internal metadata.
4 MiB per step-returned payload; 32 MiB total function run state; 10 MiB hard cap per event batch.
Sources (2) →Sources ↓
- Queues limits — Cloudflare Docs ↗
“Feature Limit Queues 10,000 per account Message size 128 KB 1 Message retries 100 Maximum consumer batch size 100 messages [...] Messages can include up to ~100 bytes of internal metadata that counts towards total message limits.”
Read 2026-09-13 · official docs · Report a correction
- Inngest usage limits - Inngest Documentation ↗
“Step-returned payload size 4MiB Applies to data returned by a step. Function run state size 32MiB Includes event data, step data, function return data, and internal metadata.”
Read 2026-09-13 · official docs · Report a correction
Message retention
- Cloudflare Queues
- 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours.
- Inngest
- Queue depth rather than a time window: 100,000 queued items on the free plan and 1,000,000 or more on Pro. Trace retention is 7 days on Pro and 90 on Enterprise.
Sources (2) →Sources ↓
- Queues pricing — Cloudflare Docs ↗
“Message retention 24 hours (non-configurable) 4 days default, configurable up to 14 days”
Read 2026-09-13 · official pricing · Report a correction
- Pricing — Inngest ↗
“100k queue depth [...] 1M+ queue depth [...] Granular tracing, metrics, alerts + 7 day trace retention [...] Advanced tracing, metrics, alerts + 90 day trace retention”
Read 2026-09-06 · official pricing · Report a correction
Maximum delay
24 hours, set with delaySeconds when sending or retrying.
Step sleeps up to 1 year on paid plans; the free plan supports sleeps up to 7 days.
Sources (2) →Sources ↓
- Queues limits — Cloudflare Docs ↗
“visibilityTimeout (pull-based queues) 12 hours delaySeconds (when sending or retrying) 24 hours”
Read 2026-09-13 · official docs · Report a correction
- Inngest usage limits - Inngest Documentation ↗
“Step sleep duration Up to 1 year Free plan supports sleeps up to 7 days.”
Read 2026-09-13 · official docs · Report a correction
Concurrency
250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second.
5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise.
Sources (2) →Sources ↓
- Queues limits — Cloudflare Docs ↗
“Per-queue message throughput 5,000 messages per second 2 Message retention period 3 Configurable up to 14 days. Per-queue backlog size 4 25GB Concurrent consumer invocations 250 push-based only Consumer duration (wall clock time) 15 minutes”
Read 2026-09-13 · official docs · Report a correction
- Pricing — Inngest ↗
“5 concurrent steps [...] 100+ concurrent steps [...] Custom concurrent steps”
Read 2026-09-06 · official pricing · Report a correction
Dead letter queue
- Cloudflare Queues
- Supported
- Inngest
- Not supported — No dead-letter queue; failed runs stay in the dashboard and are re-run in bulk with Replay.
Sources (2) →Sources ↓
- Pricing — Cloudflare Queues docs ↗
“Messages that reach the maximum retries and that are written to a Dead Letter Queue incur a write operation for each 64 KB chunk.”
Read 2026-09-06 · official docs · Report a correction
- Function Replay | Re-run Failed Runs in Bulk - Inngest Docs ↗
“The recovery flow in other systems may require dead-letter queues or some other form of manual intervention. With Replay, you can replay functions in bulk from the Inngest dashboard”
Read 2026-09-13 · official docs · Report a correction
When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.
Documented by only one.
These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing — except where we say we read the other provider's own page on a given date and it does not state it. Those rows lean, and the provider can correct them with a link.
Questions this comparison answers.
Should I choose Cloudflare Queues or Inngest?
Pick Cloudflare Queues if Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.
Pick Inngest if Multi-step workflows that need durable execution and retries between steps, rather than a bare queue you write a consumer for.

Comments are hosted by EchoThread, which sets cookies and offers social sign-in. Like the analytics on this site, it does not load until you accept — see the privacy page.