Open Source ETL Tools Compared

Airbyte, dlt, NiFi & More (2026)

Star counts were read on 2026-11-03.

Last updated: Proudly published by: Jeff Wahl9 min read

Which open source ETL tools exist?

Open source ETL tools are programs you run yourself that move data out of source systems into a warehouse or another system, and in some cases reshape it on the way. The field divides by job. Airbyte (22.3k GitHub stars), dlt and Meltano load data. Debezium captures database changes. Apache NiFi, Apache Hop and Apache SeaTunnel are flow engines. dbt transforms inside the warehouse, and Apache Airflow and Dagster schedule all of it.

The 3 searches that lead here, open source ETL tools, open source ELT tools and open source data integration tools, describe one choice. ETL transforms data before it lands, ELT lands raw data and transforms it in the warehouse, and data integration is the umbrella over both. Most of the newer open source loaders are ELT tools: Airbyte's documentation says custom transformation is not available in Airbyte Open Source, so a SQL tool such as dbt takes over after the load. SeaTunnel describes itself as EtLT, a light transform between extract and load, with heavy transformation left to the warehouse. The ETL vs ELT guide covers when each order wins.

No open source tool is the right default. The choice follows from your sources, your team's skills and where you want transformation to happen.

Prepare for the interview
01 / Open invite
02min.

Know Open source ETL tools the way the interviewer who asks it knows it.

a Open source ETL tools query, the same shape a screen would give you.
The diff against expected. Where ties broke. What you missed.
sandbox
1source → bronze → silver → gold
2 ingest : CDC + Kafka
3 transform : dbt + Airflow
4 serve : Snowflake
5
Execute your solution0.4s avg.

How the open source tools divide the work

Most disagreements about the best tool come from comparing tools that do different jobs. Airbyte and dlt load data, dbt only transforms it, and Airflow does neither: it runs the other tools in the right order and retries them when they fail.

Bars across the 3 stages extract, load and transform: Airbyte, dlt and Meltano cover extract and load, Debezium covers extract only, NiFi, Hop and SeaTunnel span all 3 stages, dbt covers transform only, and Airflow and Dagster span all 3 as a dashed scheduling barBars across the 3 stages extract, load and transform: Airbyte, dlt and Meltano cover extract and load, Debezium covers extract only, NiFi, Hop and SeaTunnel span all 3 stages, dbt covers transform only, and Airflow and Dagster span all 3 as a dashed scheduling bar

A real stack usually combines 2 or 3 tools from different rows, for example a loader and dbt, with a scheduler on top. A flow engine can take a pipeline from source to transformed output alone, which is why teams with many protocols or strict delivery needs pick one instead of assembling pieces.

Airbyte, dlt and Meltano: open source ELT loaders

Airbyte is a data movement platform with a catalogue of 700+ connectors, offered self-hosted or as a paid cloud service. Its licensing is the detail to read first. The Airbyte licences page says its connectors and public repositories, except the Airbyte Protocol, are under the Elastic License 2.0 and that only the protocol is MIT. The 2 uses it names as restricted are hosting Airbyte yourself to sell it as an ELT or ETL tool and selling a product that directly exposes its UI or API. Running it for your own company's pipelines is neither. It fits teams that want a large prebuilt connector catalogue and no connector code.

dlt is a Python library under Apache 2.0 (6.1k stars), not a platform. You define a source in Python, create a pipeline with a destination such as DuckDB or Snowflake, and call pipeline.run(source). It infers the schema and normalizes nested JSON into tables. It also supports incremental loading and schema evolution, and it loads to 20+ destinations. Because it is a library it runs wherever Python runs, such as an Airflow task or a container, and you own the scheduling and infrastructure. It fits teams that write Python and have APIs no connector catalogue covers.

Meltano (MIT, 2.7k stars) is built around the Singer specification. A Singer tap writes JSON lines to stdout in 3 message types: SCHEMA and RECORD describe and carry the data, and STATE records progress. A target loads them, and the STATE message is the bookmark the next run reads to resume where the last one stopped. Meltano wraps taps and targets in a declarative, code-first project and tracks that state for you. It runs dbt as a transformer and supports Airflow as its orchestrator. It fits teams that want a pipeline defined as files in Git and an existing tap for their source.

Airbyte, dlt, Meltano and SeaTunnel side by side

Airbyte
  • LicenceELv2 (source-available)
  • ShapePlatform
  • Catalogue700+ connectors
  • TransformNot in open source
  • GitHub stars22.3k
dlt
  • LicenceApache 2.0
  • ShapePython library
  • Catalogue20+ destinations
  • TransformPython interfaces
  • GitHub stars6.1k
Meltano
  • LicenceMIT
  • ShapeDeclarative project
  • CatalogueSinger taps, targets
  • TransformRuns dbt
  • GitHub stars2.7k
SeaTunnel
  • LicenceApache
  • ShapeEngine
  • Catalogueabout 200 connectors
  • TransformLight transforms
  • GitHub starsNot read

Apache NiFi, Apache Hop and Apache SeaTunnel: flow engines

Apache NiFi (Apache 2.0, 6.3k stars) moves data between systems as flows you design in a browser. Its documentation highlights data provenance, which records the full lineage of every piece of data, a choice between guaranteed and loss-tolerant delivery, and back pressure that slows producers when consumers fall behind. Those are operational guarantees, which is why it suits routing across many protocols and audit requirements more than warehouse-centred ELT.

Apache Hop is a visual platform for pipelines and workflows with 250+ transforms. A run configuration picks where the same pipeline runs: its native engine, a Hop Server, Spark or Databricks, or Flink and Google Dataflow through Apache Beam. It suits teams that want a canvas, transformation inside the tool and a portable pipeline.

Apache SeaTunnel is a top-level Apache project for batch and streaming work and for change data capture, with about 200 connectors. A job definition runs on its own Zeta engine, or on Flink or Spark, so it suits teams that already operate one of those engines.

Talend Studio shows the risk of visual ETL tools. Qlik retired the open source Talend Studio on 31 January 2024 and no longer hosts or updates it.

Debezium: open source change data capture

Debezium (Apache 2.0) turns a database's row-level writes into a stream of change events. It lists 18 source connectors, 8 of them stable, among them CockroachDB, Db2, MariaDB, MongoDB, MySQL, Oracle, PostgreSQL and SQL Server. Each event carries the operation and the row before and after the change, plus source metadata.

Debezium normally runs inside Kafka Connect and writes to Kafka topics, with offsets stored in Kafka so it resumes in commit order after downtime. Debezium Server runs the same connectors without Kafka. It is the tool for propagating row-level changes in near real time, including deletes that a nightly extract misses, and it feeds a warehouse only through something that consumes the stream. Interviewers ask about this pattern often.

dbt, Airflow and Dagster: transformation and scheduling

dbt handles the T of ELT. You write SQL select statements and it builds tables and views in the warehouse in dependency order, and its documentation says it works alongside ingestion tools rather than replacing them. Its licence differs between the Python-based v1 and the newer Rust-based releases, so read the licensing page for the version you would run.

Airflow (Apache 2.0, 47.4k stars) and Dagster (Apache 2.0, 16.4k stars) define pipelines in Python and run other tools in order, retrying them on failure. Airflow models work as tasks in a DAG, and Dagster models it as assets, the tables and files the pipeline produces. Neither moves data by itself at scale; they call the loaders and dbt. The dbt vs Airflow guide explains how the 2 roles divide.

Which open source ETL tool fits which situation

Your situationTools that fitWhy
SaaS APIs and databases into a warehouse, and nobody wants to write connectorsAirbyte, or Meltano with existing tapsBoth bring a large catalogue of prebuilt sources, so the work is configuration
A Python team with an internal or unusual APIdltA source is a Python function, and the library handles schema, nesting and incremental state
Row-level changes from an OLTP database, deletes includedDebeziumIt reads the database's change stream instead of repeatedly querying tables
Many protocols, routing rules and a need to audit where data wentApache NiFiProvenance, back pressure and delivery guarantees are built into the flow model
A visual designer with transforms inside the toolApache HopPipelines are drawn on a canvas and the same pipeline runs on several engines
Batch, streaming and CDC onto Spark or Flink you already runApache SeaTunnelOne job definition can run on Zeta, Flink or Spark
SQL transformation after the data has landeddbt, behind any loader aboveIt models dependencies between SQL models and runs them in the warehouse
Dependencies, retries and schedules across all of the aboveAirflow or DagsterThey run other tools in order, and neither is a data mover on its own

How to check an open source ETL tool's licence and governance

Open source is not one thing. Apache 2.0 and MIT licences place few limits on how you run a tool. The Elastic License 2.0 allows you to read and run the code but restricts offering it as a service, which is why Airbyte is better called source-available. Check the licence of the exact component you plan to deploy, because a platform and its connectors can carry different terms, and the protocol can differ again.

Governance decides how long a tool lives. Airflow, NiFi, Hop and SeaTunnel are Apache Software Foundation projects, and Debezium is hosted by the Commonhaus Foundation. Talend Open Studio sat under one vendor, and its retirement on 31 January 2024 left users with software nobody updates. Before adopting a tool, look at who commits to it, how often it releases and whether a company could close it.

What self-hosting an open source ETL tool costs you

The licence is free and the operation is not. A self-hosted tool leaves you with upgrades, secrets, scaling and on-call monitoring. Connectors break when a source changes its API. A library such as dlt leaves the scheduler and the compute to you, and a continuous service such as NiFi or Debezium needs a supervisor and alerts of its own.

Make every load idempotent, so a retry cannot double rows. Store incremental state outside the worker, since a lost bookmark forces a full reload. Alert on freshness and row counts at the destination, because a loader that exits 0 can still load nothing.

How open source ETL tools come up in data engineering interviews

Interviewers rarely ask you to rank tools. They give a pipeline problem and listen for whether you can name what each stage needs: how a source is read incrementally, where state is kept, what happens to a late or duplicated record, and how a backfill runs without breaking the current load.

To practice that reasoning, work through the ETL interview questions and the data pipeline interview questions, then design full pipelines in the data pipeline practice problems. The data engineer interview prep guide lays out the whole loop, and data pipeline architecture shows how the pieces above fit together.

Open source ETL tools FAQ

What is the best open source ETL tool?+
No tool is best in general, because the open source field splits by job. Airbyte and dlt load data from sources into a warehouse, as does Meltano. Debezium captures row-level changes. NiFi and Hop are flow engines, as is SeaTunnel. dbt transforms inside the warehouse. Airflow and Dagster schedule the rest. The right pick depends on your sources, your team's language and where you want transformation to happen.
What is the difference between ETL and ELT tools?+
An ETL tool transforms data before it reaches the destination, and an ELT tool loads raw data first and transforms it inside the warehouse or lake. Most current open source loaders are ELT tools and leave transformation to SQL tools such as dbt, while flow engines such as NiFi and Hop can transform in flight.
What are open source data integration tools?+
Data integration is the umbrella term for moving and combining data across systems. Airbyte and dlt handle loading, as does Meltano. Debezium covers change data capture. Apache NiFi and Apache Hop are flow engines, and so is Apache SeaTunnel. Airflow or Dagster handle orchestration.
Is Airbyte really open source?+
Airbyte publishes its code, but its licences page says its connectors and public repositories, except the Airbyte Protocol, fall under the Elastic License 2.0, and only the protocol is MIT. That makes it source-available. The restricted uses it names are hosting Airbyte yourself to sell it as an ELT or ETL tool, and selling a product that directly exposes its UI or API.
What replaced Talend Open Studio?+
Qlik retired the open source Talend Studio on 31 January 2024 and no longer hosts or updates it. Teams that relied on a visual ETL designer often look at Apache Hop or Apache NiFi, or move to a code-first loader such as dlt, depending on whether they want a canvas or a library.
Do I need an orchestrator with these tools?+
Usually yes for anything that runs on a schedule with dependencies. dlt is a library, so a scheduler such as Airflow or Dagster runs it, and Meltano supports Airflow as an orchestrator. NiFi and Debezium run continuously instead, so they need a supervisor and monitoring but not a DAG scheduler.
02 / Why practice

The candidate who gets the offer

  1. 01

    Reading a solution is not the same as writing one

    Every engineer who has frozen on a query they had read a dozen times knows the gap. The only preparation that closes it is producing the answer yourself, under time, before the interview does it for you

  2. 02

    76% of hiring managers reject on the coding task, not the resume

    From HackerRank's 2024 Developer Skills Report. Candidates who look strong on paper still fail the live screen if they haven't done timed, executable practice

  3. 03

    System design comes down to the calls you defend out loud

    Ingestion, batch vs streaming, the bronze/silver/gold layers, idempotency, backfill and replay. Sketching the pipeline and naming the failure modes is the signal, not the boxes

Related guides