Upstash QStash vs Trigger.dev
SEPT 2026 auditA comparison of Upstash QStash and Trigger.dev built from values read directly from each provider's own documentation, with the source recorded against every figure.
The short answer
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
Choose Trigger.dev if…
Teams that want background jobs written as normal code with the bill expressed as compute credits rather than a per-message meter.
Editorial · Palash Bagchi · approved
Consider something else if…
- 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.
- Trigger.dev: Concurrency is the axis that forces an upgrade — 20 simultaneous runs on free, 50 on Hobby, then $10 a month per additional 50.
Neither quite fits? Every other option, ranked by iScore: Upstash QStash alternatives · Trigger.dev alternatives
5 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.
Upstash QStash 0
Trigger.dev 0
At a glance.
| Criterion | Upstash QStash | Trigger.dev |
|---|---|---|
| Pricing | ||
| Free tier | Yes | Yes |
| Kind of free offer | Free tier | Free tier |
| What the free plan includes | 1,000 messages a day. | $5 of credit each month with 20 concurrent runs and one day of log retention. |
| Pricing model | 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. | A monthly plan fee that is also a credit balance — the fee buys compute rather than sitting on top of it — with concurrency, preview branches, dashboards and schedules each priced as separate add-ons beyond the plan's allowance. |
| Queues | ||
| Included per month | 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. | Credits rather than a message or execution count: $5 a month free, $10 included on Hobby and $50 on Pro, spent against compute. |
| Maximum message size | 1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans. | 3 MB per trigger payload (each batch item up to 3 MB on SDK 4.3.1+); task outputs up to 10 MB; payloads over 512 KB offloaded to object storage. |
| Message retention | 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. | Log retention of 1 day on the free plan, 7 days on Hobby and 30 days on Pro, with the query period matching. |
Where they differ.
What the free plan includes
- Upstash QStash
- 1,000 messages a day.
- Trigger.dev
- $5 of credit each month with 20 concurrent runs and one day of log retention.
Sources (2) →Sources ↓
- QStash Pricing — Upstash ↗
“Free $0 [...] Messages per Day 1,000”
Read 2026-09-13 · official pricing · Report a correction
- Pricing — Trigger.dev ↗
“Free $0/month [...] $5 / month free credits [...] 20 concurrent runs [...] 1 day log retention”
Read 2026-09-13 · official pricing · Report a correction
Pricing model
- 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.
- Trigger.dev
- A monthly plan fee that is also a credit balance — the fee buys compute rather than sitting on top of it — with concurrency, preview branches, dashboards and schedules each priced as separate add-ons beyond the plan's allowance.
Sources (2) →Sources ↓
- 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 · Report a correction
- Pricing — Trigger.dev ↗
“$10 / month credits included [...] Then $10/month per 50 [...] Then $20/month per seat [...] Then $10/month per branch [...] Then $10/month per 1,000”
Read 2026-09-06 · official pricing · Report a correction
Included per month
- 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.
- Trigger.dev
- Credits rather than a message or execution count: $5 a month free, $10 included on Hobby and $50 on Pro, spent against compute.
Sources (2) →Sources ↓
- 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 · Report a correction
- Pricing — Trigger.dev ↗
“$5 / month free credits [...] $10 / month credits included [...] $50 / month credits included”
Read 2026-09-06 · official pricing · Report a correction
Maximum message size
1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans.
3 MB per trigger payload (each batch item up to 3 MB on SDK 4.3.1+); task outputs up to 10 MB; payloads over 512 KB offloaded to object storage.
Sources (2) →Sources ↓
- QStash Pricing — Upstash ↗
“Max Message Size 1 MB 10 MB 50 MB 50 MB Custom”
Read 2026-09-06 · official pricing · Report a correction
- Limits - Trigger.dev ↗
“Single trigger payload Must not exceed 3MB Batch trigger payload Each item can be up to 3MB (SDK 4.3.1+). Prior: 1MB total combined Task outputs Must not exceed 10MB”
Read 2026-09-13 · official docs · Report a correction
Message retention
- 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.
- Trigger.dev
- Log retention of 1 day on the free plan, 7 days on Hobby and 30 days on Pro, with the query period matching.
Sources (2) →Sources ↓
- QStash Pricing — Upstash ↗
“Max DLQ Retention 3 days 7 days 30 days 3 months Custom”
Read 2026-09-06 · official pricing · Report a correction
- Pricing — Trigger.dev ↗
“1 day log retention 1 day query period [...] 7 day log retention 7 days query period [...] 30 day log retention”
Read 2026-09-06 · official pricing · 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 Upstash QStash or Trigger.dev?
Pick Upstash QStash if HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.
Pick Trigger.dev if Teams that want background jobs written as normal code with the bill expressed as compute credits rather than a per-message meter.

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.