A comparison of .NET ETL libraries
ETLKit vs ETLBox
This page compares ETLBox with three open-source .NET ETL libraries you may have found while searching: ETLKit, ETL.NET, and actionETL. ETLBox is the commercial product. The others are not.
If you landed here from ETLKit, or from a list of C# ETL libraries, the question is the same: what is the difference, and which one can you run in production? Below, ETLBox is compared with each project on its own, then all four sit in one matrix.
The library that looks like ETLBox
ETLBox used to be MIT open source, around 2018–2020. ETLKit continues that 1.x line — previously published as EtlBox.Classic, then renamed. ETLKit states the 2.0 rename is a package and namespace change, not a redesign: the public API stays the 1.x surface. Matching class names is the leftover of a shared starting point, not six years of product work.
The product since 1.x
- Streaming engine hardened after the closed-source cut
- Thousands of automated tests
- Vendor support, trial, commercial licenses
- Named companies in production
- Paying customers fund the next year
The 1.x continuation
- Same generation as the old 1.x engine
- Community tests, not a product test suite
- Maintainer and GitHub, not a vendor
- No comparable public enterprise references
- Stalls when the author stops
A different model, not a fork
ETL.NET never shared the ETLBox codebase. It is a Linq-style, reactive pipeline library. The maintainer has publicly asked for help with documentation and tests, and reported that unit tests were largely dropped in v2. Occasional releases do not make it a supported product.
A library you can buy support for
- Component data-flow model teams already know
- Thousands of automated tests
- Docs, recipes, and a support channel
- Used in production at named companies
- A vendor that answers when something breaks
A community experiment
- Different programming model (Linq / reactive)
- Author reports tests were dropped in v2
- Maintainer publicly asking for contributors
- Community scale, not enterprise references
- Stalls if the maintainer moves on
A stalled worker-style library
actionETL is another separate open-source .NET ETL experiment, built around workers rather than a data-flow network. The last NuGet package is from January 2024. There has been no meaningful product movement since then.
Still shipping
- Actively maintained commercial engine
- Thousands of automated tests
- Trial, licenses, and vendor support
- Named production customers
- A roadmap funded by customers
No longer moving
- Different worker-style model
- No commercial test story
- Last package: January 2024
- Community scale
- Already stalled
All four at a glance
The same criteria, one table. Green means ETLBox covers it as a product. Red means the open-source project does not.
| ETLBox | ETLKit | ETL.NET | actionETL | |
|---|---|---|---|---|
| Product engine | Hardened streaming data flow | Same generation as old 1.x | Linq model; tests dropped in v2 | Last NuGet release in 2024 |
| Automated tests | Thousands of tests | Community tests | Author asked for help restoring them | No commercial test story |
| Vendor support | Support, trial, licenses | Maintainer / community | Maintainer asking for contributors | Effectively stalled |
| Production proof | Banks, energy, healthcare, manufacturing | No comparable public references | Community scale | Community scale |
| If the author stops | Customers fund ongoing development | The project stalls | The project stalls | Already stalled |
Used in production — not as a weekend project
Commonwealth Bank of Australia, Deloitte, Health Catalyst, SEW Eurodrive, Calpine, FASTEC: these are not GitHub stars. They run ETLBox because a nightly load cannot depend on a maintainer’s spare time. That is what a commercial license actually buys — a library that already survived production.
Evaluate ETLBox
Try the commercial library, not the 1.x lookalike
If the API looks familiar, that is expected — ETLKit froze the old surface. A trial key unlocks the product that was built after that. NuGet without a key is limited to 5,000 rows per data flow.
Get a free trial key See pricing Talk to us




