Skip to content
inetGeek

Cloudflare Queues vs Inngest

A comparison of Cloudflare Queues and Inngest built from values read directly from each provider's own documentation, with the source recorded against every figure.

Updated 9 criteria compared

The short answer

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.

3 sourced criteria separate them:

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.
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.
Concurrency
Cloudflare Queues: 250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second and a 25 GB backlog.
Inngest: 5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise.

No affiliate links, sponsored placements or paid rankings appear on this site. Ordering follows the sourced data and the stated criteria.

01.

At a glance.

CriterionCloudflare QueuesInngest
Pricing
Free tierYesYes
Queues
Included per month1,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.
Message retention4 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.
Concurrency
250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second and a 25 GB backlog.
5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise.

Only criteria both providers publish appear here; a tinted cell marks a real difference. Criteria only one of them documents are listed below, and an absence there means we found no source — not that the feature is missing. How we source this.

The small bar above a value is inetGeek's own lean toward that side — computed from the same facts shown, never a number the provider published. See the picker below "The short answer" to weigh only the criteria you care about.

02.

Where they differ.

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) →
  • 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

  • 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

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) →
  • Pricing — Cloudflare Queues docs ↗

    “Message retention | 24 hours (non-configurable) | 4 days default, configurable up to 14 days”

    Read 2026-09-06 · official docs

  • 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

Concurrency

Cloudflare Queues

250 concurrent consumer invocations, push-based only, with per-queue throughput capped at 5,000 messages a second and a 25 GB backlog.

Inngest

5 concurrent steps on the free plan, 100 or more on Pro, custom on Enterprise.

Sources (2) →
  • Limits — Cloudflare Queues docs ↗

    “Concurrent consumer invocations | 250 push-based only [...] Per-queue message throughput | 5,000 messages per second [...] Per-queue backlog size | 25GB”

    Read 2026-09-06 · official docs

  • Pricing — Inngest ↗

    “5 concurrent steps [...] 100+ concurrent steps [...] Custom concurrent steps”

    Read 2026-09-06 · official pricing

03.

Which should you choose?

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.
04.

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.

Entry paid planInngest: $99/month for Pro, described as a starting price with usage above the included allowance billed on top.
Pricing modelInngest: 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.
Maximum message sizeCloudflare Queues: 128 KB per message, with roughly 100 bytes of that taken by internal metadata. Messages above 64 KB are billed as multiple operations.
Maximum delayCloudflare Queues: 24 hours, set with delaySeconds when sending or retrying.
Dead letter queueCloudflare Queues: Supported
05.

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.

Provider pages

Related comparisons

sentry vs glitchtipsentry vs betterstackglitchtip vs betterstackcloudflare r2 vs backblaze b2cloudflare r2 vs wasabicloudflare r2 vs tigrisbackblaze b2 vs wasabiwasabi vs tigrisneon vs supabaseneon vs planetscalesupabase vs planetscalevercel vs cloudflare pagesvercel vs netlifynetlify vs cloudflare pagesrailway vs fly iofly io vs herokurender vs railwayrender vs fly iodigitalocean vs hetznerdigitalocean vs hostinger vpshetzner vs hostinger vpsvultr vs hostinger vpslinode vs hostinger vpsdigitalocean vs vultrdigitalocean vs linodevultr vs linodehetzner vs vultrhetzner vs linodeheroku vs renderheroku vs railwayhostinger vs dreamhostsiteground vs dreamhostkinsta vs pressablewp engine vs pressablekinsta vs flywheelwp engine vs flywheelpressable vs flywheelvercel vs aws amplifyaws amplify vs netlifyaws amplify vs cloudflare pageskinsta vs wp enginehostinger vs sitegroundanthropic vs openaianthropic vs google geminianthropic vs deepseekopenai vs google geminiopenai vs deepseekgoogle gemini vs deepseekresend vs postmarkresend vs mailgunresend vs amazon sespostmark vs mailgunpostmark vs amazon sesmailgun vs amazon sesclerk vs auth0clerk vs workosclerk vs better authauth0 vs workosauth0 vs better authworkos vs better authcloudflare queues vs qstashcloudflare queues vs trigger devqstash vs inngestqstash vs trigger devinngest vs trigger dev