SQLFormatter
FormatterConvertPricingDocsGet Pro
SQL Converter · SnowflakeBigQuery

Convert Snowflake SQL to BigQuery

Snowflake to BigQuery maps VARIANT colon-paths to JSON accessors, ::casts to CAST() and LISTAGG to STRING_AGG. A mechanical formatter only re-indents — it won’t rewrite dialect-specific syntax. The AI converter in the app translates the query and the table below shows exactly what changes.

Snowflake — source
Snowflake
SELECT o.datacustomer.namestring AS customer,
       o.datatotalnumber AS total
FROM orders o
WHERE o.datastatusstring = 'paid'
QUALIFY ROW_NUMBER() OVER (ORDER BY o.created_at DESC) = 1;
BigQuery — converted
BigQuery
SELECT JSON_VALUE(o.data, '$.customer.name') AS customer,
       CAST(JSON_VALUE(o.data, '$.total') AS NUMERIC) AS total
FROM proj.dataset.orders o
WHERE JSON_VALUE(o.data, '$.status') = 'paid'
QUALIFY ROW_NUMBER() OVER (ORDER BY o.created_at DESC) = 1;
Convert your own query

What changes from Snowflake to BigQuery

SnowflakeBigQueryWhy
data:customer.nameJSON_VALUE(data, '$.customer.name')Colon-path VARIANT access becomes JSON_VALUE with a JSONPath.
x::numberCAST(x AS NUMERIC)Snowflake :: casts become explicit CAST().
QUALIFYQUALIFYBoth dialects support QUALIFY, so it carries over.

Other SQL conversions

PostgreSQLBigQueryMySQLBigQueryAll conversions →