The 8 Best Change Data Capture (CDC) Tools in 2026
Change data capture keeps a target system in sync by reading changes from the source database's transaction log — MySQL's binlog or PostgreSQL's WAL — instead of re-querying tables. The hard part isn't the concept; it's choosing the tool: they differ wildly in deployment model, pricing basis, and how much infrastructure they expect you to run.
There is no universal best. A team streaming Postgres into Kafka for microservices needs a different tool than a team replicating MySQL to PostgreSQL for a migration, or feeding a warehouse. This list states what each tool is best at — and what it will cost you in money or operations.
How we compare
Deployment
SaaS, self-hosted, or both. Who holds your data in flight?
Pricing basis
Flat, per-seat, per-row, per-GB, per-hour, or quote-only. Predictability matters more than the sticker.
Ops burden
Does it need Kafka, an agent fleet, or a cloud account to function?
CDC scope
Which sources it reads log-based, which targets it writes.
1. DBConvert Streams
Best self-hosted CDC for MySQL ↔ PostgreSQL
Scope up front: DBConvert Streams reads CDC from MySQL-family (binlog) and PostgreSQL-family (WAL/logical replication) sources — including RDS, Aurora, Cloud SQL, Neon, Supabase, DigitalOcean — and writes to MySQL, PostgreSQL, S3-compatible storage, or files. If your sources are Oracle or SQL Server, pick another tool from this list. Within that scope it removes the two costs the rest of the market charges: usage-based billing (per-seat pricing, no per-row or per-GB meters) and pipeline infrastructure (no Kafka, no orchestrator — the message layer is embedded; one binary or Docker stack you run yourself). Initial load and CDC run as one stream with checkpointed handoff, and the built-in monitor shows CDC readiness, lag, and per-table progress.
2. Debezium
Best open-source CDC framework
The de-facto OSS standard (Apache 2.0) with the broadest source coverage — 13 source connectors including MySQL, PostgreSQL, MongoDB, Oracle, SQL Server. The standard topology runs on Kafka Connect, so you operate Kafka and Kafka Connect yourself; Debezium Server and the embedded Engine can skip Kafka (the Server’s JDBC sink writes straight to a relational target with upserts and schema evolution), at the cost of running and wiring that service yourself.
3. Fivetran
Best managed connector breadth
700+ managed connectors and log-based CDC for MySQL (binlog) and PostgreSQL (WAL). Pricing is consumption-based on Monthly Active Rows: free tier to 500k MAR, then usage-priced per connection — powerful for SaaS-app ELT, but row-churn-driven costs are hard to predict for busy OLTP databases. Deployment is SaaS or hybrid; no fully self-hosted mode is listed.
4. Airbyte
Best connector catalog with a free self-managed core
Self-managed Core is free (source-available under Elastic License 2.0 — not OSS in the Apache sense), Cloud starts at $10/month volume-based. CDC is Debezium under the hood, supported for Postgres, MySQL, MSSQL, MongoDB. A pragmatic middle path: managed UI economics with an exit to self-hosting.
5. Estuary Flow
Best transparent per-GB pricing for streaming ELT
Managed CDC/ELT with its own (non-Debezium) log-based connectors — Postgres via logical replication with read-only capture support. Pricing is published and simple: $0.50/GB moved plus $100 per connector per month, with a free tier of 10 GB and 2 connectors. Private/BYOC deployment exists but requires an annual Enterprise contract.
6. AWS DMS
Best if you live entirely on AWS
Log-based CDC from MySQL, PostgreSQL, Oracle, SQL Server, MongoDB and more, billed per replication-instance hour or serverless DCU. The replication infrastructure runs in your AWS account and targets are AWS-oriented — outside AWS it stops making sense, and even AWS’s own pricing page needs a worked example to explain the cost model.
7. Striim
Best in-flight stream processing at enterprise scale
Distributed streaming-SQL platform with 100+ connectors and CDC, positioned for billions-of-events workloads. Runs as fully managed Cloud or self-managed Platform. The only published number is the free Developer tier (25M events/month); paid tiers are quote-only.
8. Qlik Replicate
Best legacy-enterprise breadth
GUI-driven, agentless log-based CDC across a very wide heterogeneous matrix of databases, warehouses and mainframe-era platforms. No published pricing anywhere; endpoint availability varies by license tier.
Comparison table
| Tool | Deployment | Pricing basis | MySQL/PG CDC | License |
|---|---|---|---|---|
| DBConvert Streams | Self-hosted | Per-seat ($49/mo) | Yes / Yes | Proprietary (closed source), free eval |
| Debezium | Self-hosted | Free | Yes / Yes | Apache 2.0 |
| Fivetran | SaaS / hybrid | Per-MAR usage | Yes / Yes | Proprietary |
| Airbyte | Self-managed / SaaS | Free core; volume-based cloud | Yes / Yes (Debezium) | ELv2 (source-available) |
| Estuary Flow | SaaS (BYOC enterprise) | $0.50/GB + $100/connector | Yes / Yes | Commercial |
| AWS DMS | AWS account | Instance-hours / DCU | Yes / Yes | Proprietary |
| Striim | SaaS / self-managed | Quote (free dev tier) | Yes / Yes | Proprietary |
| Qlik Replicate | Self-managed | Quote-only | Yes / Yes | Proprietary |
How to choose
- 1Match the source list first. Only Oracle/SQL Server/Mongo sources? DBConvert Streams is out; look at Debezium, DMS, Qlik. MySQL/Postgres only? Everything above works — decide on ops and pricing.
- 2Decide who runs the pipeline. SaaS (Fivetran, Estuary, Striim Cloud) means fastest start and your data in their cloud. Self-hosted (DBConvert Streams, Debezium, Airbyte Core) means your network boundary, your ops.
- 3Stress-test the pricing basis against your churn. Per-row (MAR) and per-GB models are cheap on quiet data and expensive on busy OLTP. Flat per-seat and free-OSS are churn-immune — you pay in ops (Debezium) or scope limits (DBConvert Streams).
- 4Count the moving parts. Debezium’s standard path = Kafka + Kafka Connect + JVM tuning. Managed SaaS = zero parts but a vendor in the data path. Embedded/single-binary = one part, yours.
Frequently asked questions
What is a CDC tool?
Software that captures INSERT/UPDATE/DELETE events from a database’s transaction log (MySQL binlog, PostgreSQL WAL) and delivers them to another system in near real time, without re-querying source tables.
What is the best CDC tool?
Depends on your source list and who runs the pipeline. For MySQL and PostgreSQL replication you run yourself — the most common case in this list — DBConvert Streams is the strongest fit: log-based CDC with initial load, no Kafka, flat per-seat pricing. For Oracle/SQL Server sources look at Debezium, AWS DMS or Qlik; for warehouse-centric SaaS ELT, Fivetran or Estuary.
What’s the best free CDC tool?
Debezium — Apache 2.0, broadest source list. "Free" is the license, not the bill: you operate Kafka/Kafka Connect (or Debezium Server) yourself, so the real cost is engineering time. If your scope is MySQL/PostgreSQL, compare that ops budget against a flat $49 seat before defaulting to free.
Can I run CDC without Kafka?
Yes. DBConvert Streams embeds its message layer (no Kafka at all); Debezium Server can write directly to a relational target via its JDBC sink; managed SaaS tools hide the transport entirely.
CDC tool vs ETL tool — what’s the difference?
ETL tools move data on a schedule by querying sources; CDC tools stream changes continuously from the transaction log. Many ELT platforms (Fivetran, Airbyte, Estuary) use CDC as the extraction method for database sources.
How much do CDC tools cost?
Free (Debezium, Airbyte Core) to quote-only enterprise (Striim, Qlik). In between: per-seat flat (DBConvert Streams $49/mo), per-GB (Estuary $0.50/GB + connector fees), per-row (Fivetran MAR), per-hour (AWS DMS). The basis matters more than the number — row/GB meters scale with your write traffic.
Try the flat-priced one first
Self-hosted MySQL/PostgreSQL CDC on your own databases — free evaluation, no credit card.