Home / Science / Research toolkit / Data management / Data dictionary generatorTool #817

Data dictionary generator from a CSV or Excel file: column types, missing values, ranges and a Frictionless Table Schema

Open a CSV or Excel file and get a data dictionary: each column's type, missing values, distinct values, range, mean, SD and median, examples and allowed values. Add titles, descriptions and units, then export Markdown, CSV or a Frictionless Table Schema (JSON). The file stays in your browser.

Keep it one tap away for everyday use.

Bookmark Data dictionary generator?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Open
  2. Profile
  3. Describe
  4. Export
Nothing is uploadedWorks offline once open

Your table

Empty cells always count as missing. Add codes your data uses, such as -999 or ".". Numbers with leading zeros (007) stay text so the zeros are kept, and dates are read when written as YYYY-MM-DD.

What it does

A data dictionary tells the next person (a co-author, a reviewer, a repository or you in a year) what every column in a table means. Most journals and data repositories now ask for one. This page writes the dull half for you and gives you a form for the half only you can write:

  • Type of each column: integer, number, true/false, date (YYYY-MM-DD), date and time, or text.
  • Missing values: empty cells plus the codes you list (NA, -999 …), as a count and a percentage.
  • Distinct values, and whether every value is different (a sign of an ID column).
  • Range: minimum and maximum for numbers and dates, length for text; mean ± SD (sample standard deviation) and median for numbers.
  • Examples, or for categories (up to 20 distinct values, each used more than once on average) the allowed values with their counts.
  • Warnings for things that trip up analysis: codes with leading zeros, dates written day/month or month/day, and numbers with thousands commas.

Then you add a title, a description and a unit for each column. Units are never guessed: only you know whether a 12 is metres, feet or a count.

How to use it

  1. Open. Press Open a file for a CSV, TSV or Excel (.xlsx) file, or paste cells from a spreadsheet. The first row should hold the column names.
  2. Profile. Check the missing-value codes your data uses; the dictionary updates as you type.
  3. Describe. Fill in a title, a one-line description and the unit under each column.
  4. Export. Choose Markdown (for a README or data paper), CSV (one row per column) or a Frictionless Table Schema in JSON, and copy or download it.

The Table Schema export

The JSON follows the Frictionless Data Table Schema: every column becomes a field with its name, title, description, type and (as an extra property) unit, and the missing-value codes are listed once. Constraints describe the data as it is: required when nothing is missing, unique for identifier-like columns, enum with the allowed values of categories, and minimum and maximum for numbers and dates. Tools such as the frictionless Python package can then check new data against it.

Worked example

Press Use the example: a made-up spring bird survey of 12 plots with 9 columns. The page reports 12 rows, 9 columns and 11 missing cells. temp_c is a number with 2 missing (16.7 %), from 9.8 to 17.2, mean 13.45 ± 2.515 and median 13.3. habitat is a category with the allowed values forest (4), grassland (4) and wetland (4). rain is true/false. plot_code is kept as text with a warning, because codes such as 007 would lose their zeros as numbers. notes is missing in 8 of 12 rows.

FAQ

Is my file uploaded? No. It is read and summarised on this page, and the page works offline. Your descriptions are not saved either, so download the dictionary when you are done.

Why is my number column shown as text? At least one cell is not a plain number: a unit typed into the cell (“12 mg”), a thousands comma, or a missing-value code that is not in the list. Add the code or clean the column first.

How large a file can it take? Up to 20 MB, 100 columns and 100,000 rows.

Where the numbers come from

  • Column statistics and type rules are written by fibub. The tests check missing and distinct counts, minimum, maximum, mean, standard deviation and median against pandas on six tables, and check the exported Table Schema against the data with the frictionless Python package (Frictionless Data, MIT licence).
  • The Table Schema export follows the published Frictionless Table Schema specification (specs.frictionlessdata.io).
  • The example bird survey is made up. A file you open is read on the page only. It is never uploaded or stored.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

CSV profiler and SQL playground #38 Open CSV, TSV or Excel files and get a profile of every column: type, missing values, distinct values, range and most common values. Then query them with SQL (SQLite), join files, and download the result. Nothing is uploaded. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Table converter (LaTeX, Markdown, HTML) #804 Paste cells from Excel, Google Sheets or LibreOffice, or open a CSV or Excel file, and get a LaTeX table (booktabs rules, caption and label, siunitx decimal alignment), a Markdown table or an HTML table. Special characters are escaped and numbers can be rounded the way you would on paper. Science file converter #815 Open a NetCDF classic or 64-bit offset file, a FITS image or table, or a CSV or Excel sheet, see every dimension, variable and attribute, and export one variable or table to CSV or JSON. Scale factors and fill values are handled. The file stays in your browser. Metadata builder #816 Fill in a form for DataCite 4.5, Dublin Core or a Darwin Core occurrence, and get a checked record: required fields, ISO 8601 dates, ORCID iD check digits, DOI form and coordinate ranges. Download it as XML, JSON or CSV. Checksum checker #818 Make SHA-256, SHA-512, SHA-1, MD5 or CRC32 checksums for a whole folder of files, save them as a sha256sum, BSD or BagIt manifest, and check files against a manifest you were given: match, does not match, missing or extra. Nothing is uploaded.