Live CDC replication

Migrate Firestore to
Neon

Migrate Firestore to Neon with live CDC replication, automatic schema mapping, and zero downtime. Production-ready in minutes, not weeks.

Start migrating free →Read the docs

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.

Real-time sync

Nested Collection Flattening

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

Sub-collection aware

Schema Discovery

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

Union schema

Type Mapping Engine

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

Full type coverage

Security Rules Audit

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

Rules-aware

Zero Downtime Cutover

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

Safe cutover
How it works

Three steps to Neon

1
Connect your Firestore
Paste your Firestore connection string. NoSQLSync detects all collections/tables and samples documents/items to infer the full schema — including nested structures.
2
Review the schema & map columns
Our auto-mapper converts Firestore types to Neon types. Review and adjust: rename columns, change types, flatten nested structures, or use JSON/JSONB for flexible fields.
3
Launch migration & monitor
Click launch. Watch records flow in real time with throughput charts, latency metrics, and error alerts. Enable live CDC to keep your SQL target in sync until cutover.

Type mapping: FirestoreNeon

Neon is PostgreSQL. Connect it as a PostgreSQL target using your Neon connection string — every PostgreSQL type mapping below applies unchanged.

ObjectId / String IDVARCHAR(24)Stored as the 24-character hex string; _id becomes the primary key
StringTEXT / VARCHAR(n)Configurable max length or unlimited TEXT
Number / IntegerINTEGER / BIGINTNumeric types mapped to appropriate integer types
Double / DecimalDOUBLE PRECISION / NUMERICFloating point or arbitrary-precision
Date / TimestampTIMESTAMP WITH TIME ZONEFull timezone-aware timestamps
BooleanBOOLEANStandard true/false
Array / ListJSONB / ARRAYNested arrays as JSONB or typed PostgreSQL arrays
Object / Map / Nested docJSONBFlexible schema fields with indexing support
Binary / BytesBYTEABinary data support
Null / MissingNULL (nullable column)Schema-less nulls become SQL-compliant NULL

Frequently asked questions

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.

Other migration paths from Firestore

See the full Firestore migration guide →

FirestorePostgreSQLFirestoreMySQLFirestoreBigQueryFirestoreSnowflakeFirestoreRedshiftFirestoreClickHouseFirestoreSQL ServerFirestoreMariaDBFirestoreSupabaseFirestorePlanetScale

Ready to migrate to Neon?

Connect your Firestore and Neon instances. No credit card required.

Start free migration →View pricing