Google Cloud Pub/Sub vs Upstash QStash
A comparison of Google Cloud Pub/Sub and Upstash QStash built from values read directly from each provider's own documentation, with the source recorded against every figure.
The short answer
- Pick Google Cloud Pub/Sub if
- Google Cloud systems that want messaging without capacity planning — throughput is metered rather than provisioned, and 10 GiB a month costs nothing.
- Pick Upstash QStash if
- HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.
4 sourced criteria separate them:
- Pricing model
- Google Cloud Pub/Sub: Three meters: throughput at $40 per TiB counting both publish and subscribe, storage at $0.27 per GiB-month for anything retained beyond a day, and data transfer when throughput crosses a zone or region boundary. Pub/Sub Lite is a separate product priced on reserved capacity rather than usage.
- Upstash QStash: Per message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above.
- Included per month
- Google Cloud Pub/Sub: 10 GiB of throughput free per billing account per calendar month, then $40 per TiB. Throughput counts bytes written to a topic plus bytes read from a subscription, so a message published once and read once is billed twice. BigQuery and Cloud Storage subscriptions are $50 per TiB and the 10 GiB does not apply to them; import topics run $50 or $80 per TiB by source.
- Upstash QStash: 1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M.
- Maximum message size
- Google Cloud Pub/Sub: Pub/Sub bills on bytes rather than message count; the pricing page states no per-message size ceiling and prices throughput and storage instead.
- Upstash QStash: 1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans.
- Message retention
- Google Cloud Pub/Sub: Retention is configurable and charged rather than granted: $0.27 per GiB-month for messages a topic is configured to retain, for snapshots, and for a subscription's backlog older than one day. A subscription's default retention is 7 days.
- Upstash QStash: Dead letter queue retention of 3 days on the free plan, 7 days on Pay as You Go, 30 days and 3 months on the fixed plans.
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.
Google Cloud Pub/Sub 0
Upstash QStash 0
At a glance.
| Criterion | Google Cloud Pub/Sub | Upstash QStash |
|---|---|---|
| Pricing | ||
| Free tier | Yes | Yes |
| Pricing model | Three meters: throughput at $40 per TiB counting both publish and subscribe, storage at $0.27 per GiB-month for anything retained beyond a day, and data transfer when throughput crosses a zone or region boundary. Pub/Sub Lite is a separate product priced on reserved capacity rather than usage. | Per message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above. |
| Queues | ||
| Included per month | 10 GiB of throughput free per billing account per calendar month, then $40 per TiB. Throughput counts bytes written to a topic plus bytes read from a subscription, so a message published once and read once is billed twice. BigQuery and Cloud Storage subscriptions are $50 per TiB and the 10 GiB does not apply to them; import topics run $50 or $80 per TiB by source. | 1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M. |
| Maximum message size | Pub/Sub bills on bytes rather than message count; the pricing page states no per-message size ceiling and prices throughput and storage instead. | 1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans. |
| Message retention | Retention is configurable and charged rather than granted: $0.27 per GiB-month for messages a topic is configured to retain, for snapshots, and for a subscription's backlog older than one day. A subscription's default retention is 7 days. | Dead letter queue retention of 3 days on the free plan, 7 days on Pay as You Go, 30 days and 3 months on the fixed plans. |
Where they differ.
Pricing model
- Google Cloud Pub/Sub
- Three meters: throughput at $40 per TiB counting both publish and subscribe, storage at $0.27 per GiB-month for anything retained beyond a day, and data transfer when throughput crosses a zone or region boundary. Pub/Sub Lite is a separate product priced on reserved capacity rather than usage.
- Upstash QStash
- Per message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above.
Sources (2) →Sources ↓
- Pricing — Google Cloud Pub/Sub ↗
“Throughput costs for message publishing and delivery [...] Data transfer costs associated with throughput that crosses a Google Cloud zone or region boundary [...] Storage costs associated with retaining messages [...] Pub/Sub Lite throughput and storage charges, by contrast, are based on reserved capacity.”
Read 2026-09-06 · official pricing
- QStash Pricing — Upstash ↗
“$1 per 100K messages [...] Max Messages per Day 1,000 Unlimited 1 M 10 M 100M+ [...] Max Monthly Bandwidth 50 GB 50 GB 1 TB 5 TB Unlimited”
Read 2026-09-06 · official pricing
Included per month
- Google Cloud Pub/Sub
- 10 GiB of throughput free per billing account per calendar month, then $40 per TiB. Throughput counts bytes written to a topic plus bytes read from a subscription, so a message published once and read once is billed twice. BigQuery and Cloud Storage subscriptions are $50 per TiB and the 10 GiB does not apply to them; import topics run $50 or $80 per TiB by source.
- Upstash QStash
- 1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M.
Sources (2) →Sources ↓
- Pricing — Google Cloud Pub/Sub ↗
“the first 10 GiB of throughput [...] is free. After that, the price is $40 per TiB in all Google Cloud regions. [...] BigQuery subscriptions cost $50 per TiB [...] Import topics (for Cloud Storage, Azure Event Hubs, AWS MSK, or Confluent Cloud) cost $80 per TiB”
Read 2026-09-06 · official pricing
- QStash Pricing — Upstash ↗
“Free $0 [...] Messages per Day 1,000 [...] Pay as You Go $1 per 100K messages [...] Messages per Day Unlimited [...] $180 / month [...] 1M [...] $420 [...] 10M”
Read 2026-09-06 · official pricing
Maximum message size
- Google Cloud Pub/Sub
- Pub/Sub bills on bytes rather than message count; the pricing page states no per-message size ceiling and prices throughput and storage instead.
- Upstash QStash
- 1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans.
Sources (2) →Sources ↓
- Pricing — Google Cloud Pub/Sub ↗
“Throughput is the total number of bytes written (publish throughput) to a Pub/Sub topic or read (subscribe throughput) from a subscription to a topic over an interval of time.”
Read 2026-09-06 · official docs
- QStash Pricing — Upstash ↗
“Max Message Size 1 MB 10 MB 50 MB 50 MB Custom”
Read 2026-09-06 · official pricing
Message retention
Retention is configurable and charged rather than granted: $0.27 per GiB-month for messages a topic is configured to retain, for snapshots, and for a subscription's backlog older than one day. A subscription's default retention is 7 days.
Dead letter queue retention of 3 days on the free plan, 7 days on Pay as You Go, 30 days and 3 months on the fixed plans.
Sources (2) →Sources ↓
- Pricing — Google Cloud Pub/Sub ↗
“Storage costs of $0.27 per GiB-month are charged for the following: A topic is configured to retain messages [...] an attached subscription with message retention duration set to the default of 7 days”
Read 2026-09-06 · official pricing
- QStash Pricing — Upstash ↗
“Max DLQ Retention 3 days 7 days 30 days 3 months Custom”
Read 2026-09-06 · official pricing
When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.
Which should you choose?
Choose Google Cloud Pub/Sub if…
Google Cloud systems that want messaging without capacity planning — throughput is metered rather than provisioned, and 10 GiB a month costs nothing.
Editorial · Palash Bagchi · approved
Choose Upstash QStash if…
HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.
Editorial · Palash Bagchi · approved
Consider something else if…
- Google Cloud Pub/Sub: Throughput counts bytes both in and out, so a message read once is billed twice, and retention is a storage charge rather than an included window — the headline $40 per TiB is not the whole bill.
- Upstash QStash: The free plan is capped per day rather than per month, so a single burst can exhaust it while a monthly allowance elsewhere would absorb the same volume.
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.
Questions this comparison answers.
Should I choose Google Cloud Pub/Sub or Upstash QStash?
Pick Google Cloud Pub/Sub if Google Cloud systems that want messaging without capacity planning — throughput is metered rather than provisioned, and 10 GiB a month costs nothing.
Pick Upstash QStash if HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.
