What are the best open-source data profiling tools?

The main open-source data profiling tools are YData-Profiling for rich single-table reports, Deequ for Spark scale, DataCleaner and OpenRefine for interactive cleanup, Great Expectations for bootstrapping expectations, and DataKitchen's DataOps TestGen, which profiles 55 column characteristics. Almost all of them stop at a report. TestGen turns the profile into hygiene checks and tests.

Key points

  • Data profiling computes statistics that describe what is in your data: distributions, null rates, distinct counts, minimums and maximums, and value patterns.
  • The main open-source profilers are YData-Profiling, Deequ, DataCleaner, OpenRefine, Great Expectations (GX Core), and DataKitchen's DataOps TestGen.
  • In DataKitchen's count, TestGen profiles 55 characteristics per column, YData-Profiling about 35 to 45, DataCleaner 20 or more, and Deequ and Great Expectations about 10 to 15.
  • Of the open-source profilers DataKitchen compared, only TestGen converts profiling results into automatic hygiene checks and generated tests; the rest produce a report someone reads.
  • TestGen profiled all 2,964,624 rows of January 2024 NYC yellow taxi data in 1 minute 48 seconds in DataKitchen's August 2026 test.

A profile is the first thing you should run on a new table, and the thing most teams run once and forget. The tools differ less on what they measure than on what happens after.

DataKitchen makes DataOps TestGen, which is in the comparison below. The counts are ours. Check them against the tools themselves.

The open-source profilers

Counts are from DataKitchen’s comparison of open-source profilers, published December 2025 and updated September 2026. Counts marked “about” are DataKitchen’s estimates. TestGen’s hygiene count is from its product page as of October 2026.

ToolProfile descriptionsAutomatic hygiene checksGenerates tests?Best fit
DataOps TestGen55 per column32 detectorsYes, 34 test typesProfiling every table in a database, then testing it
YData-ProfilingAbout 35 to 450NoA rich report on one table, in a notebook
DataCleanerAbout 20 or more0NoInteractive profiling
OpenRefineAbout 150NoCleaning up a messy file by hand
Great Expectations (GX Core)About 10 to 150No; suggests expectations you writeBootstrapping a hand-written expectation suite
DeequAbout 10 to 150NoSpark DataFrames at scale
Aggregate ProfilerAbout 100NoLightweight checks
Metabase (open source)About 5 to 100NoA BI tool with column summaries

Great Expectations’ profiler survives in GX Core, which Fivetran now stewards, while GX Cloud, the paid layer, shut down June 1, 2026.

Pick on what happens after the profile

Every tool in that table describes data.

That’s the job.

The gap is what comes next. A YData-Profiling report tells you a column is 40% null. Somebody then has to read it, decide that’s wrong, write a rule, and schedule it. In a team of three, that step doesn’t happen for table number 200.

DataKitchen’s first use case for data observability is evaluating a new data source, and it names what to look for: delimited data embedded in columns, leading and trailing spaces, pattern inconsistencies within a column, multiple data types under one column name, non-standard blank values, quoted values, and duplicates. A profiler that only reports those leaves you a to-do list. One that turns them into checks leaves you a test suite.

Profiling also comes before any threshold, because you can’t set a sensible limit on a column you’ve never measured. And the volume rules out doing it by hand. The coverage guide sets a floor of two tests per table and two per column, which across a few hundred tables is thousands of tests.

A worked example

In DataKitchen’s NYC taxi test, TestGen profiled all 2,964,624 yellow taxi rides from January 2024 in 1 minute 48 seconds. That month held fares as low as negative $899 and one trip distance of 312,722 miles.

The same test shows the limit of profiling. Tests generated from a 300,000-row sample set the minimum fare at negative $367, because that was the lowest fare present. A profile learns what the data is. It doesn’t know what the data should be. Business rules still need a person, or an AI reading the profile with a person checking its work.

When your assistant needs the profile

Most profilers write an HTML report or a notebook cell. Claude, Cursor, or an agent can’t read either, so it guesses from whatever you paste. TestGen’s open-source MCP server exposes profiling results, hygiene findings, and test history through 96 tools, each running under the connected user’s role.

Open-source TestGen covers one user, one database connection, and one project. For the full field of free data quality tools, see the open-source tools answer.

Sources

SourceWhat it covers
The 2026 open-source data profiling comparisonEvery profiler above, with DataKitchen’s counts and verdicts
DataOps TestGenCurrent profiling, hygiene, and test-type counts

Frequently asked questions

Short answers to the follow-up questions people ask next.

What is data profiling?

Data profiling computes statistics that describe what is in your data: distributions, null rates, distinct counts, minimums and maximums, and value patterns. It splits into structure discovery for format and consistency, content discovery for errors in individual records, and relationship discovery for how tables and columns connect. Profiling tells you what you have before you decide what to test.

Which open-source profiler gives the most detail?

For a single table in a notebook, YData-Profiling produces a rich report with one line of code, about 35 to 45 profile descriptions in DataKitchen's count. DataKitchen's DataOps TestGen profiles 55 characteristics per column across every table in a database, and runs the profiling queries inside that database.

Can an open-source profiler generate data quality tests?

Almost none can. Of the open-source profilers DataKitchen compared, only DataOps TestGen turns a profile into checks: 32 hygiene detectors and 34 test types generated from the profile. Great Expectations' profiler suggests expectations you still write and maintain. YData-Profiling, Deequ, DataCleaner, and OpenRefine produce reports or interactive views.

Which data profiling tool works on Spark?

Deequ, the Scala library from AWS Labs, profiles and checks constraints on Spark DataFrames at scale. DataKitchen rates it strong at scale and weak at hygiene, with about 10 to 15 profile descriptions and no automatic hygiene checks. It fits teams already running Spark; it is a heavier choice for a warehouse without one.

Is the Great Expectations profiler still available?

Yes. The profiler is part of the open-source GX Core project, which Fivetran took over stewarding in May 2026. The commercial product, GX Cloud, shut down on June 1, 2026 after the company was acquired, so the paid UI and scheduling that sat on top of the profiler are gone.

Try it on your own data

DataOps TestGen is free and open source. Profile a table and generate its tests this afternoon.