Is BigQuery Free? How the Free Tier Actually Works

BigQuery has a permanent free tier that lets you store up to 10 GiB of data and run queries that process up to 1 TiB per month, all without paying a cent. For many individuals, students, and small projects, that’s enough to use BigQuery indefinitely at no cost. But the free tier has boundaries, and certain features like streaming inserts carry charges from the first byte. Here’s exactly what you get for free and what triggers a bill.

What the Free Tier Includes

Every Google Cloud account with billing enabled gets a set of always-free allowances that reset monthly. The key limits are:

  • Query processing: 1 TiB (about 1.1 TB) of data scanned per month
  • Storage: 10 GiB of active or long-term storage
  • Batch loading: Free, with no per-byte charge, when you load data from files (CSV, JSON, Parquet, etc.)
  • Batch exports: Up to 50 TiB per day at no cost
  • Storage Write API: The first 2 TiB per month
  • Storage Read API: Up to 300 TiB of streaming reads per month

To put the query limit in perspective, 1 TiB of processed data is substantial for exploratory work. You could run hundreds of queries against a multi-gigabyte dataset each month without hitting the cap. The 10 GiB storage limit is tighter; it’s roughly enough for a few million rows of structured business data, depending on column count and data types.

The Sandbox: No Credit Card Required

If you don’t want to enter payment information at all, BigQuery offers a sandbox mode. You get the same free usage limits (10 GiB storage, 1 TiB of query processing), and you can sign up with just a Google account.

The tradeoff is a set of restrictions. All tables, views, and partitions in the sandbox automatically expire after 60 days, so it’s not suitable for long-lived datasets. The sandbox also blocks streaming inserts, DML statements (INSERT, UPDATE, DELETE operations inside SQL), and the BigQuery Data Transfer Service. It’s designed for evaluation and learning, not production workloads.

Free Trial Credits for New Customers

New Google Cloud customers also receive $300 in free credits to use across any Google Cloud product, BigQuery included. These credits let you experiment beyond the free tier limits, for example running heavier queries or testing features like streaming inserts, without being billed. You won’t be charged until you manually activate a full paid account after the credits run out.

Public Datasets at No Storage Cost

Google hosts a library of public datasets in BigQuery covering topics like census data, weather records, GitHub activity, and more. Google pays the storage costs for these datasets, so you can query them without loading anything into your own project. You only pay for the query processing, which still falls under the 1 TiB monthly free allowance. This makes public datasets a great way to learn SQL in BigQuery or prototype an analysis without spending anything.

What Triggers Paid Usage

The most common way people cross into paid territory is by scanning more than 1 TiB of query data in a month. Beyond the free allowance, on-demand query pricing is $6.25 per TiB. A single poorly structured query against a large table can process hundreds of gigabytes in seconds, so costs can escalate quickly if you’re not selecting only the columns you need or filtering with partitioned tables.

Streaming inserts are another common surprise. If you’re pushing real-time data into BigQuery using the legacy tabledata.insertAll method, every successful insert costs $0.01 per 200 MiB, with a 1 KB minimum row size. The Storage Write API charges $0.025 per GiB after the first 2 TiB. Neither of these has a meaningful free allowance for high-volume streaming.

Cross-region data transfers also carry fees. Moving data out of BigQuery to a Cloud Storage bucket in a different region costs between $0.05 and $0.10 per GiB depending on the destination. Transferring data into BigQuery is always free regardless of region.

How to Stay Within the Free Tier

A few practical habits keep your usage at zero cost. First, use the query validator in the BigQuery console before running any query. It shows you how much data the query will scan, so you can catch expensive queries before they execute. Second, structure your tables with date-based partitioning and only query the date ranges you need, which dramatically reduces bytes scanned. Third, select specific columns instead of using SELECT *, since BigQuery charges based on the columns read, not the rows returned.

For storage, periodically check your dataset sizes in the console. If you’re approaching the 10 GiB limit, delete tables you no longer need or export them to Cloud Storage where pricing starts lower. You can also set default table expiration times on datasets so old tables clean themselves up automatically.

Finally, set up billing alerts if you’ve attached a credit card. Google Cloud lets you create budget alerts at any dollar threshold, so you’ll get notified before unexpected charges accumulate. Pairing a $1 budget alert with the free tier gives you a safety net while you learn the platform.