11 target databases supported

Migrate Firestore
to SQL

Firestore documents in the same collection often diverge, and sub-collections have no direct relational equivalent. NoSQLSync builds a schema covering every observed field, gives you a per-field choice between a child table and a JSONB column, and replays document changes to SQL in real time.

Start migrating free →

Choose your target database

Every path below includes bulk load, live CDC, and automatic type mapping for Firestore.

FirestorePostgreSQL
Live CDC · Auto schema mapping · Zero downtime
FirestoreMySQL
Live CDC · Auto schema mapping · Zero downtime
FirestoreBigQuery
Live CDC · Auto schema mapping · Zero downtime
FirestoreSnowflake
Live CDC · Auto schema mapping · Zero downtime
FirestoreRedshift
Live CDC · Auto schema mapping · Zero downtime
FirestoreClickHouse
Live CDC · Auto schema mapping · Zero downtime
FirestoreSQL Server
Live CDC · Auto schema mapping · Zero downtime
FirestoreMariaDB
Live CDC · Auto schema mapping · Zero downtime
FirestoreSupabase
Live CDC · Auto schema mapping · Zero downtime
FirestoreNeon
Live CDC · Auto schema mapping · Zero downtime
FirestorePlanetScale
Live CDC · Auto schema mapping · Zero downtime

What you get with every Firestore migration

Real-time sync

Firestore CDC

Listen to Firestore document changes in real time via Cloud Firestore triggers. Every create, update, and delete flows to SQL with low latency.

Sub-collection aware

Nested Collection Flattening

Firestore sub-collections are automatically detected and either flattened into their own tables or embedded as JSONB columns.

Union schema

Schema Discovery

Firestore documents within a collection can have different fields. NoSQLSync samples across all documents to build a complete schema covering every field.

Full type coverage

Type Mapping Engine

Firestore types map cleanly to SQL: string → TEXT, number → NUMERIC, boolean → BOOLEAN, timestamp → TIMESTAMPTZ, geopoint → POINT, array → JSONB.

Rules-aware

Security Rules Audit

Analyze Firestore security rules to understand data access patterns before migration. Import only documents your app logic actually reads.

Safe cutover

Zero Downtime Cutover

CDC keeps SQL current while Firestore stays authoritative. Check the record counts, then cut over on your own schedule.

Firestore migration FAQ

How are Firestore sub-collections handled?

Each sub-collection can become its own SQL table with a foreign key to the parent document, or be flattened into a JSONB column in the parent table.

What about Firestore real-time listeners?

CDC sync uses Firestore's built-in change streams. The listener captures all writes to any document in the collection and replays them to the SQL target.

How do you handle Firestore document references?

Document references are resolved to the target document's ID and stored as foreign keys. Circular references are detected and handled safely.

How long does a migration take?

A typical 100 GB dataset migrates in under 2 hours with bulk mode. With CDC enabled, ongoing writes sync in real time. Total time depends on data volume and network throughput.

Is my data secure during migration?

Yes. All data is encrypted in transit (TLS 1.3) and at rest (AES-256). Database credentials use short-lived tokens. Migration workers run in an isolated environment and never store data after the job completes.

Can I roll back if something goes wrong?

Yes. NoSQLSync only reads from your source — it is never modified, and CDC keeps running until you stop it. If you hit a problem after cutover, point your application's connection string back at the source.

Ready to migrate Firestore?

Free plan includes 5 migrations per month. No credit card required.

Start free →