# Dataset Quality Profiler

Profile CSV or JSON datasets for missing values, duplicate rows, format drift, type inference, and numeric outliers

> Canonical page: https://elysiatools.com/en/tools/dataset-quality-profiler

- **Category:** Data Analysis

- **Keywords:** dataset quality, csv, json, missing values, duplicates, outliers

## Overview

Paste a CSV dataset into "Dataset Input" or upload a CSV/JSON file. The profiler inspects each column and gives you a quick quality snapshot before the data moves into BI, ETL, or machine-learning steps.

What the tool checks:
- Missing values per column
- Duplicate rows, or duplicate combinations based on the columns you list in "Duplicate Key Columns"
- Column type inference: number, boolean, date, string, or empty
- Numeric outliers using an IQR-style rule
- Format drift for string/date-like columns, such as mixed date styles or code-vs-free-text inconsistencies

How to fill the fields:
- Dataset Input: paste CSV text directly when you want a quick profile
- Dataset File: upload CSV or JSON if the dataset is larger or already saved locally
- Duplicate Key Columns: optional comma-separated keys such as id,email to detect duplicates by business key instead of whole-row matching
- Sample Rows: controls how many example rows appear in the report preview

How to read the report:
- Quality score is a simple 0-100 summary where more missing cells, duplicate rows, and anomaly signals reduce the score
- Missing shows how many blank/null cells were found in that column
- Distinct shows how many unique values appear in the sampled dataset
- Anomalies highlights numeric outliers
- Format drift highlights columns where values look structurally inconsistent

Current scope:
- CSV and JSON are supported
- JSON should be an array of objects or an object with a rows array
- The score is meant as a quick operational signal, not a formal data-governance grade

## Inputs

- **Dataset Input** (textarea): id,name,amount 1,Alice,120 2,Bob, 3,Alice,9999
- **Dataset File** (file)
- **Duplicate Key Columns** (text): id,email
- **Sample Rows** (number)

## When to use

- Before loading raw data into a database or BI tool to catch structural errors and missing values.
- When auditing a new dataset from a third-party vendor or client to quickly assess data completeness and anomalies.
- During data preparation for machine learning to identify numeric outliers and inconsistent data types.

## How it works

- Paste your CSV data directly into the input field or upload a CSV or JSON file.
- Optionally specify duplicate key columns (like 'id,email') to check for business-logic duplicates instead of exact row matches.
- Adjust the sample rows setting to control how many example records appear in the final preview.
- View the generated HTML report, which includes a 0-100 quality score, missing value counts, outlier detection, and format drift alerts.

## Use cases

- Profiling transactional sales data to ensure no missing revenue values or duplicate order IDs before building financial dashboards.
- Inspecting customer lead exports from marketing platforms to spot invalid email formats or empty contact fields.
- Validating sensor or IoT data logs to quickly identify extreme numeric outliers and missing timestamps.

## Frequently asked questions

### What file formats does the profiler support?

The tool supports CSV and JSON files. For JSON, the data should be formatted as an array of objects or an object containing a 'rows' array.

### How is the overall quality score calculated?

The score is a 0-100 operational summary. It decreases based on the frequency of missing cells, duplicate rows, format drift, and numeric anomalies found in the dataset.

### Can I check for duplicates using specific columns?

Yes. By entering comma-separated column names in the 'Duplicate Key Columns' field (e.g., 'id,email'), the tool will flag duplicate combinations based only on those business keys.

### What does 'format drift' mean in the report?

Format drift highlights columns where the data structure is inconsistent, such as mixing different date formats or combining numeric codes with free-text strings.

### How does the tool detect numeric outliers?

The profiler uses an Interquartile Range (IQR) style rule to identify and flag numeric values that fall significantly outside the normal distribution of a column.

## Related tools

- [Structured Log Analyzer](https://elysiatools.com/en/tools/structured-log-analyzer): Detect common log formats, extract core fields, infer field types, and export parsed logs as JSON, CSV, or SQL inserts
- [Dataset Imbalance Detector & Resampler](https://elysiatools.com/en/tools/dataset-imbalance-detector-resampler): Detect class imbalance in CSV or JSON datasets, compare resampling strategies, and preview a balanced output dataset
- [Time Series Anomaly Detector](https://elysiatools.com/en/tools/time-series-anomaly-detector): Upload CSV or JSON time series data, detect anomalies with Z-Score and IQR methods, and return a chart-backed report
- [Time Series Forecast & Seasonality Analyzer](https://elysiatools.com/en/tools/time-series-forecast-seasonality-analyzer): Forecast future periods from CSV or JSON time-series data and inspect trend, seasonal, and residual decomposition in one report
- [Train/Test Split with Stratification](https://elysiatools.com/en/tools/train-test-split-with-stratification): Class-stratified train/validation/test split or stratified k-fold for CSV/JSON datasets — seeded, reproducible, with distribution reports, leakage checks, SMOTE preview and CSV export.
- [CSV to Database Migration Planner](https://elysiatools.com/en/tools/csv-to-database-migration-planner): Infer a relational schema from CSV data and generate create-table plus ALTER migration plans for PostgreSQL, MySQL, SQLite, or SQL Server
- [JSON Path Visualizer](https://elysiatools.com/en/tools/json-path-visualizer): Visualize JSON or JSONL as an expandable tree and copy JSONPath expressions for every node
- [CSV/JSON Data Watermarker](https://elysiatools.com/en/tools/csv-json-data-watermarker): Inject visible or signature-style watermark fields into CSV or JSON exports so shared datasets can be traced later

## Samples

- [CSV Samples](https://elysiatools.com/en/samples/csv-samples): Sample CSV files with various data types, sizes, and complexity levels
- [Python Samples](https://elysiatools.com/en/samples/python): Essential Python code examples and Hello World demonstrations
- [JWT Samples](https://elysiatools.com/en/samples/jwt-samples): Comprehensive JWT examples from basic token structure to advanced security implementations
- [Apache Arrow Samples](https://elysiatools.com/en/samples/arrow): Apache Arrow in-memory columnar format examples for high-performance data processing and analytics

## Related content

- [JSON Formatting, Diff, and Normalization Tools](https://elysiatools.com/en/hubs/json-format): Compare JSON formatting, diffing, log review, config comparison, and data-normalization tools in one hub for readable and reviewable JSON workflows.
- [Data Quality, Dedupe, and Anomaly Detection Tools](https://elysiatools.com/en/hubs/data-quality-anomaly-workflows): Profile CSV/JSON datasets, compare spreadsheet versions, find duplicates, outliers, missing-value issues, referential breaks, and time-series anomalies in one data-quality workflow hub.
- [Text Redaction, Highlighting, and Presentation Formatting Tools](https://elysiatools.com/en/hubs/text-format): Compare tools for masking sensitive text, finding PII, normalizing phone numbers, highlighting phrases, centering text, and formatting diffs in one hub.
- [JSON Interchange and Format Translation Tools](https://elysiatools.com/en/hubs/json-convert): Compare JSON conversion tools for CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN, and related structured formats in one hub.
