Format current Compute Engine regions and zones

The Google Cloud CLI (gcloud) can list Compute Engine locations and format the results for people or scripts. Unlike a copied terminal transcript, these commands query Google Cloud when you run them, so the region and zone list stays current.

Regions and zones

A region is a geographic area. A zone is an isolated deployment area within a region. A region usually contains multiple zones, such as us-central1-a and us-central1-b in us-central1. For a workload that needs to tolerate a single-zone failure, deploy across zones in the same region; for broader disaster recovery, consider a second region and the added latency, cost, and operational requirements.

The available machine families and other products vary by location. A region or zone showing UP does not guarantee that every machine type has capacity or that your project has quota there. Check the product and machine type you need before choosing a location.

Google's current Compute Engine location catalog includes examples such as these (not a complete list):

RegionExample zonesLocation
africa-south1africa-south1-a, africa-south1-b, africa-south1-cJohannesburg, South Africa
us-central1us-central1-a, us-central1-b, us-central1-c, us-central1-fCouncil Bluffs, Iowa
us-east5us-east5-a, us-east5-b, us-east5-cColumbus, Ohio

This is a location sample, not a saved gcloud transcript. Use the commands below for the live list and status in your active project.

List regions

Run this command to show the region name, its description, and current status:

gcloud compute regions list \
  --format="table(name,description,status)"

The default command output also includes project-specific quota usage. Use a custom format when you only need location and status, or keep the default output when you are checking quotas.

Filter and sort the list, for example to show European regions:

gcloud compute regions list \
  --filter='name~"europe"' \
  --sort-by=name \
  --format="table(name,description,status)"

To inspect the quotas for one region:

gcloud compute regions describe us-central1 \
  --format="table(quotas:format='table(metric,limit,usage)')"

Quota limits and usage belong to the selected project, so another project can show different numbers.

List zones

Display each zone with its parent region and status:

gcloud compute zones list \
  --sort-by=name \
  --format="table(name,region.basename():label=REGION,status)"

Filter to one region with a name pattern:

gcloud compute zones list \
  --filter='name~"^us-central1-"' \
  --sort-by=name \
  --format="table(name,region.basename():label=REGION,status)"

For a compact list of just the zone names:

gcloud compute zones list \
  --filter='name~"^us-central1-"' \
  --sort-by=name \
  --format="value(name)"

Choose a format

The --format flag controls how gcloud displays returned resources:

  • table(...) creates a readable table.
  • value(field) prints selected values without a header, which is useful in shell pipelines.
  • json and yaml return structured output for scripts or inspection.
  • --filter selects matching resources, while --sort-by controls their order.

For example, show the regions as JSON:

gcloud compute regions list \
  --format="json(name,description,status)"

To explore available formatting options and projection syntax, run:

gcloud topic formats

The result of regions list and zones list depends on the active Google Cloud project and can change as Google adds locations or updates their status. For location geography, supported machine series, processors, and other current availability details, use Google's Compute Engine regions and zones guide. See also the gcloud compute regions list reference and gcloud compute zones list reference.