How much does Cloudflare Queues cost in 2026? Pricing and examples
5 août 20264 min read
In short
- Cloudflare Queues is billed per operation (write, read, delete), not by data volume or egress.
- 1 operation = each 64 KB chunk of a message. Delivering one message = 3 operations (1 write, 1 read, 1 delete).
- Workers Free: 10,000 operations/day included. Enough to test or for a lightly used internal queue.
- Workers Paid: 1 million operations/month included, then $0.40 per million. Message retention: 4 days by default, up to 14.
- No egress or bandwidth fees: for messages under 64 KB, one million messages delivered per day costs about $36/month.
The problem, concretely
Your application handles background tasks: sending emails, generating PDFs, processing files, syncing with an ERP. If everything goes through direct HTTP requests, any outage or spike makes your users wait. A queue puts these tasks in line and processes them at your capacity. That's what Cloudflare Queues does: a managed message queue at the edge, directly wired to your Workers.
The common question is: "How much does it cost?". Short answer: nearly nothing to start, and a cost proportional to the number of messages, never paying for data egress. Details below.
The pricing model
Queues bills the total number of operations against your queues in the month. One operation is counted for each 64 KB chunk written, read or deleted. In practice, delivering a message costs 3 operations: 1 write (the app pushes it into the queue), 1 read (the Worker picks it up), 1 delete (it is removed after processing).
- Messages over 64 KB: counted as multiple messages. A 65 KB message and a 127 KB message each incur 2 operations (write, read, delete).
- Retries: each new attempt adds one read operation. A retried batch of 10 messages adds 10 read operations.
- Dead Letter Queue: a message that fails after the max attempts and moves to a DLQ generates read operations then one write.
- Expired message: a message reaching its retention time without being read only costs one write and one delete.
The two plans
Workers Free
- 10,000 operations/day included (about 3,300 messages delivered per day).
- Message retention: 24 hours, not configurable.
Enough to test, for a lightly used internal queue, or for occasional bursts. Beyond that, you need the paid plan.
Workers Paid ($5/month)
- 1 million operations/month included, then $0.40 per million operations.
- Retention: 4 days by default, configurable up to 14 days.
- The $5/month plan already covers Workers itself, R2, D1 and other Cloudflare services at the same price.
The formula to estimate your monthly bill, if your messages are under 64 KB:
(Number of messages x 3 - 1,000,000) / 1,000,000 x $0.40
Worked examples
- Moderate usage: 1 million messages delivered/day, under 64 KB each, 30 days = 90 million operations, 1 million included, bill approximately $36/month.
- Bigger messages: 100 million messages of ~127 KB (2 x 64 KB chunks) = 600 million operations, approximately $240/month. Above 64 KB, the cost doubles, so keep messages light.
- Small internal queue: a few thousand messages/day, fully covered by the free plan or the 1 million included operations of the paid plan, so $0 on top of the subscription.
Note: no egress or bandwidth fees. Same principle as R2: leaving Cloudflare with data costs nothing, unlike legacy providers.
What drives the bill up (and how to avoid it)
- Retries: each attempt adds read operations. Set a reasonable number of attempts and fix the cause of failures rather than multiplying retries.
- Oversized messages: above 64 KB, each message counts for 2 operations or more. Keep messages light (IDs, compact JSON) and store large payloads in R2, referencing their key.
- Expiring messages: without an active consumer, messages expire and still cost write + delete. A consumer Worker running continuously avoids the waste.
Best practices for a controlled bill
- Keep messages under 64 KB: above that, each message counts for 2 operations or more. Send an ID or compact JSON, and store large files in R2, referencing their key.
- Use batching: processing in batches (10 messages by default) reduces the number of read-write operations for the same volume, hence the bill.
- Limit retries: each attempt adds a read. A reasonable number of attempts (3 by default) plus a dead letter queue for permanent failures avoids costly loops.
- Keep a consumer running: without a consumer Worker, messages expire and still cost write + delete. A continuously running consumer avoids the waste.
These settings are covered by default in my Cloudflare projects: I size the queue, batching and retries to your real volume, at a fixed price.
Why it matters for an SME
For an SME automating its processes (document generation, sending, syncs), the real volume is usually a few thousand to a few hundred thousand messages per day. On this profile, Queues costs $0 to a few dollars per month on top of the $5/month Workers plan. It's a managed queue, with no server to administer, natively integrated with Workers and D1.
If your automation needs a reliable queue, it's a building block I integrate into your Cloudflare projects, at a fixed price and with no subscription behind. Details of my services are on the freelance Cloudflare Workers developer page.
Frequently asked questions
Have a feature in mind? Let's talk.
30 minutes to scope your need and quote the fixed price, no subscription. 6-month guarantee included. Reply within 24h.
Book my free audit · 30 min