A heuristic first look at a file. Not ETL validation, not a data quality control, and not a schema to trust. Type inference, delimiter detection, duplicate counts and quality notes are all guesses, and they are least reliable on exactly the files worth profiling, the malformed ones. The profile also stops at hard limits, so a partial answer can look like a complete one. Use at your own risk. Open for the full scope limits.
What this tool actually does
Use at your own risk. This tool is provided for convenience only and is not a substitute for database administration, ETL validation, compliance review, backup verification, or production data quality controls.
No guarantees
Type inference, delimiter detection, duplicate counts, histograms, schema output and quality notes are heuristic and may be incomplete, inaccurate or misleading for malformed, encoded, truncated, very wide or domain-specific files.
- An inferred type is a vote taken over the values it happened to see, not a declaration. Check identifier columns, codes and anything with a leading zero before you accept a schema built from them.
- Generated SQL is a starting point to read and edit, not DDL to run. It encodes the guesses above.
- A quality note that does not appear is not a clean bill of health. The absence of a warning means no heuristic fired, which is a different statement.
The profile stops before the file does
Hard limits keep the page responsive, and each one turns a full profile into a partial one that looks identical: files above 20 MB are blocked before parsing, profiling stops after 200,000 data rows, distinct counts are exact only up to 20,000 values per column, and histograms use sampled numeric values. Read the limits panel and confirm which of them your file hit.
Local processing with browser limits
Files are read in your browser and are not intentionally uploaded by this page. Browser extensions, local policies, crashes, memory pressure and device behaviour remain outside this tool's control. Exports land unencrypted in your downloads folder, and page state can survive in a session restore.
Local is about transmission, not permission. It says nothing about whether you are allowed to open the file you just opened.
Never use this for
- Signing off a production import, a migration, or any load you cannot roll back.
- Data quality attestation, audit evidence or a compliance record about the contents of a dataset.
- Concluding that a file is clean, complete, correctly encoded or free of duplicates.
- Regulated data on a machine or browser you do not control, including protected health information under HIPAA, cardholder data under PCI DSS, and personal data under GDPR.
- Running the generated SQL against anything real without reading every line of it first.
Verify independently
Before acting on results, validate the source data, schema, row counts, encodings, delimiters and generated SQL with trusted tools and backups. Those tools and the source system control; where this page disagrees with them, this page is wrong.
Dataset Profile
Upload a delimited text file to inspect structure, infer column types, preview rows, and generate SQL and JSON summaries.
Drop a CSV or TSV file here
or click to browse
dataset.csv
0 KB
Heuristics, and a profile that may have stopped early. Inferred types, delimiter detection, duplicate counts and quality notes are guesses, the generated SQL encodes those guesses, and hard limits on size, rows and distinct counts make a partial profile look like a complete one. A missing warning means no heuristic fired, not that the file is clean.
Quality Notes
High-level findings from the current profiled rows.
Numeric Distributions
Approximate bins based on sampled numeric values from profiled rows.
| Column | Type | Nulls | Distinct | Profile | Sample |
|---|
Preview Rows
First profiled rows after any detected or selected header row.
CREATE TABLE
Generated from inferred column types.
JSON Summary
Profile output and inferred structure in JSON format.