Data Profiler
Understand a dataset before you use it: types, gaps, duplicates, outliers, and a suggested schema for every column.
Processed in your browser. Files never leave your device.
How it works
- Paste data or upload a CSV, TSV, Excel
.xlsx, or JSON file. - Click Profile data to analyze every column.
- Review types, missing values, ranges, and flagged issues.
- Download a report or copy a SQL, JSON Schema, or TypeScript definition.
Check a dataset before you import, analyze, or share it
Most data problems are visible in the first five minutes if you know where to look: a column that is half empty, an ID that repeats, prices stored as text, dates in two formats, ZIP codes that will lose their leading zero. The profiler looks at every value in every column and summarizes what it finds, so you do not have to scroll a spreadsheet hoping to spot it.
Analysts use it on a new extract, developers use it to design a table for an import, and ops teams use it to sanity-check a vendor file. The data never leaves your browser.
What it reports
- Detected type per column (integer, decimal, boolean, date, datetime, email, URL, UUID, text) and how consistent it is
- Missing values, distinct counts, and columns that are unique and could be keys
- Min, max, mean, and median for numbers; earliest and latest for dates; length range for text
- Issues: mixed types, stray spaces, inconsistent capitalization, repeated IDs, ambiguous day/month dates, constant columns
- Duplicate and empty rows across the whole file
- A suggested SQL
CREATE TABLE, JSON Schema, or TypeScript interface
Worked example
The example orders file looks fine at a glance. The profiler finds that order_id 1004
appears twice, one email is malformed and one has a leading space, total contains
n/a, status mixes paid, Paid, and
PAID, one date uses a different format, and zip must stay text to keep
02134 intact.
Limits
Up to about 5 MB or 20,000 rows. Nested JSON is flattened into dot-separated columns such as address.city.
Related tools: CSV Cleaner · CSV Import Validator · CSV → JSON · CSV & Excel Compare · JSON Compare
FAQ
Does my data get uploaded or stored?
No. Processing runs entirely in your browser. Structura does not upload your files for processing and does not keep file contents on a server. Closing the tab clears the in-memory copy.
Is processing private / local-only?
Yes for the tool’s job. Your files stay on the device. Optional Cloudflare Web Analytics may record page views and anonymous events such as tool runs and downloads, never file contents or file names.
What file types can I profile?
CSV, TSV, and other delimited text, Excel .xlsx (first non-empty sheet), and JSON arrays of objects. Nested JSON objects are flattened into columns like address.city.
How are column types detected?
Every non-empty value is classified. A column gets a type when at least 90% of its values match it; otherwise it is reported as mixed with a breakdown.
Why is my ZIP code column shown as text?
Values with leading zeros, such as 02134, are kept as text so they do not lose digits when imported into a database or spreadsheet.
Can I use the suggested schema directly?
It is a starting point based on the sample you profiled. Review lengths, nullability, and keys before using it in production.
Do I need an account?
No. All Structura tools are free to use without signup.
Need a data tool we don’t have yet?
Tell us what you are trying to convert, clean, compare, or validate. We prioritize tools based on real requests. Want profiling of Parquet files, or alerts when a recurring export changes shape?
Request a tool →