Understanding Cloud Run pricing
Cloud Run charges for the exact resources your service consumes during request handling. Unlike virtual machines or GKE nodes, you are not billed for idle time unless you set minimum instances above zero. The pricing model has four dimensions:
- CPU (vCPU-seconds): Billed at $0.00002400 per vCPU-second. The clock starts when a request begins and stops when the response is sent. Choose the smallest vCPU count that keeps your response time acceptable.
- Memory (GB-seconds): Billed at $0.00000250 per GB-second. Memory allocation is in MB; the billing unit is GB. 512 MB = 0.5 GB. Memory is billed alongside CPU during request handling.
- Requests: Billed at $0.40 per million requests above the 2 million free tier. For most small services, request cost is negligible compared to compute cost.
- Networking egress: Billed at $0.12 per GB after the first 1 GB free per month. Egress includes data sent from your service to the internet. Intra-region traffic within GCP is free.
Example cost scenarios
These worked examples show how Cloud Run pricing adds up at different traffic levels. All assume the free tier is applied.
- Requests / month
- 100,000
- Avg duration
- 300 ms
- Memory
- 256 MB
- CPU
- 1 vCPU
- Egress
- ~0 GB
| Line item | Cost |
|---|---|
| CPU + memory | $0.00 covered by free tier |
| Requests | $0.00 covered by free tier |
| Egress | $0.00 |
30,000 vCPU-seconds — well inside the 360,000 free tier. This workload costs nothing every month.
- Requests / month
- 10 million
- Avg duration
- 200 ms
- Memory
- 512 MB
- CPU
- 1 vCPU
- Egress
- 5 GB
| Line item | Cost |
|---|---|
| CPU 1.64M billable vCPU-sec | $39.36 |
| Memory 820K billable GB-sec | $2.05 |
| Requests 8M billable | $3.20 |
| Egress 4 GB billable | $0.48 |
CPU dominates. Cutting avg duration from 200 ms → 100 ms would roughly halve the bill.
- Requests / month
- 500 million
- Avg duration
- 100 ms
- Memory
- 1,024 MB
- CPU
- 2 vCPUs
- Egress
- 50 GB
| Line item | Cost |
|---|---|
| CPU ~99.6M billable vCPU-sec | $2,391.00 |
| Memory ~49.8M billable GB-sec | $124.55 |
| Requests 498M billable | $199.20 |
| Egress 49 GB billable | $5.88 |
At this volume, comparing Cloud Run to GKE or VMs is worth doing. See the Cloud Run vs GKE vs VMs guide.
Cloud Run free tier
Google Cloud Run includes a generous free tier per billing account each calendar month. Free tier allocations are not per service — they are shared across all Cloud Run services in a billing account.
- 2,000,000 requests per month
- 360,000 vCPU-seconds per month
- 180,000 GB-seconds of memory per month
- 1 GB of networking egress per month
For many small to medium services, the free tier covers most or all compute cost. A service handling 1 million requests per month at 360ms average duration with 1 vCPU will stay within the free tier on CPU alone. The practical implication: Cloud Run is genuinely free for side projects and low-traffic services.
The free tier applies to Cloud Run (fully managed). Cloud Run on Anthos has separate pricing. Always check the official pricing page for the latest free tier limits.
Cloud Run vs alternatives
Cloud Run is one of several compute options on GCP. Understanding when to choose each helps you avoid paying more than necessary or choosing the wrong architecture.
- Cloud Run vs Cloud Functions: Cloud Run runs full containers (any language, any binary). Cloud Functions runs individual functions in supported runtimes. Cloud Run is more flexible; Cloud Functions is simpler for single-purpose event handlers. Both scale to zero and use similar pricing models. For multi-route services, prefer Cloud Run.
- Cloud Run vs GKE: GKE runs Kubernetes workloads on dedicated node pools. GKE nodes are billed continuously regardless of traffic; there is no scale-to-zero at the node level. GKE supports stateful workloads, sidecars, and advanced networking. Cloud Run is significantly simpler to operate. See the Cloud Run vs GKE vs VMs decision guide.
- Cloud Run vs App Engine: App Engine Standard and App Engine Flexible also run web services on GCP. App Engine Standard can scale to zero like Cloud Run. App Engine Flexible runs containers on VMs and cannot scale to zero. Cloud Run is generally preferred for new containerised workloads due to better cold start performance and more flexible container support.
Frequently asked questions about Cloud Run billing
Does Cloud Run charge when there are no requests?
By default, no. With the default CPU-during-requests-only billing mode and minimum instances set to 0, Cloud Run incurs no compute charge when your service is idle. You may still pay for container image storage in Artifact Registry, but there is no Cloud Run compute charge at zero traffic. If you set minimum instances above 0, idle instances are billed at a reduced memory-only rate.
How does billing work for Cloud Run minimum instances?
When you set --min-instances=1 or higher, those instances run
continuously even with no traffic. In the default CPU-during-requests mode,
idle minimum instances are billed for memory only (not CPU). With CPU always
allocated (--no-cpu-throttling), idle instances are billed for
both CPU and memory. For most services, one minimum instance costs a few
dollars per month at standard memory allocations.
Is the Cloud Run free tier per project or per billing account?
The free tier is per billing account per month, not per project or per service. If you have multiple Cloud Run services across multiple projects all linked to the same billing account, they share the same monthly free tier pool.
How accurate is this calculator?
This calculator uses the published Cloud Run pricing constants and applies them to the usage inputs you provide. It is a reasonable planning estimate. Actual charges can differ for several reasons: billing rounding, request handling overhead, container startup time included in billed duration in some configurations, regional pricing differences, committed use discounts, or pricing changes by Google after this tool was last updated. Always verify with the official pricing page and your billing reports.
Does Cloud Run charge for failed requests?
Yes. Cloud Run bills for CPU and memory used during request processing regardless of whether the response was a 200 OK or a 500 error. If your service is producing errors and retrying, those retries are billed. Monitor your error rate and eliminate error loops to avoid unexpected costs.
How can I reduce my Cloud Run bill?
Several strategies reduce Cloud Run costs: keep request duration short by optimising application code; right-size memory allocation — over-provisioning memory wastes money; reduce container startup time to lower cold start duration; cache responses where possible to reduce request count; use the free tier effectively by staying within the monthly limits for small workloads; consider concurrency settings — higher concurrency handles more requests per instance, reducing the number of vCPU-seconds needed.
What is not included in this calculator?
This calculator covers the main Cloud Run billing dimensions: compute (CPU and memory), requests, and networking egress. It does not include: Artifact Registry storage costs for container images; Cloud SQL or other database costs; Secret Manager API call costs; Cloud Load Balancing costs if you use a custom domain with a load balancer; Serverless VPC Access connector costs if routing traffic through a VPC; idle instance costs for minimum instances (a simplified model is used).
Related Cloud Run documentation
GCP Cost Management guides
Once you have an estimate, these guides help you understand and reduce your overall GCP bill.
- Cloud Run cost optimisation — techniques for reducing Cloud Run spend
- Understanding GCP pricing models — how GCP charges for compute, storage, and networking
- How to estimate cloud costs — a broader approach to pre-deployment cost planning
- Setting billing budgets and alerts — get notified before costs exceed your limit
- Network egress costs explained — egress is often the hidden cost in Cloud Run workloads
- FinOps principles in cloud — the framework behind sustainable cost management