A room list says chairs_count is zero for Elm and blank for Birch. Does the blank mean there are no chairs, or that nobody counted them? Put that meaning beside the field name before sending the spreadsheet. A data dictionary template should let the next reader interpret a value without asking you what the column means.
Keep one dictionary row for each source column. Record its exact name, definition, type, unit, allowed values and missing-value meaning. Send the dictionary with the matching dataset version. The worked example pairs a small fictional arts-room inventory with its field definitions; the downloads include the source CSV, filled dictionary and an unfilled dictionary header.

Open the complete example · Download the full HTML source
Name the thing one row represents
The original example is a room inventory snapshot labeled v1, dated October 31, 2026. One row represents one room in that snapshot. It is not one row per booking, chair or inspection event. Room codes MAPLE, ELM and BIRCH identify the three authored records.
Write that row meaning above the field definitions. Add the dataset name and version so the reader knows which file the dictionary describes. Keep the actual owner's name and contact blank until you supply them. A completed example does not identify who maintains your real spreadsheet.
The USGS data-dictionary guidance describes documenting named objects and definitions, data properties, missing-data codes and business rules. It also recommends updating the dictionary when data structures change. The five-field format here is an original small-file handoff layout, not a required USGS submission format.
Make the definition more useful than the label
Our chairs_count field means the number of movable chairs physically counted in the room at the last check. Its unit is individual chairs. It does not mean seats booked for a workshop or a room's permitted occupancy.
MAPLE has 24, ELM has 0 and BIRCH is blank. In this fictional source contract, zero means the count found no chairs; blank means no count was recorded. Do not turn that blank into zero to make the column look complete. The example displays it as “Blank — no count recorded” while retaining the empty value in the CSV.
The floor_area_sq_ft field uses square feet. A number without its unit would leave the receiving reader to guess whether the measurement used square feet or square meters. The projector field accepts yes, no or unknown; here, unknown is a supplied category rather than an empty cell. These rules belong to this authored dataset and need replacement with your actual definitions.
Keep the source name and a readable label
Use chairs_count as the exact field name and “Chairs counted” as its label. The exact name lets someone match the dictionary to the CSV header. The label helps someone scanning the reference understand it. Renaming one should not quietly rename the other.
For each field, add one short description of what is counted or recorded, a type, a unit where applicable, allowed values and the meaning of a missing value. Include a real example when you can share one. Do not infer an allowed range from the few values in a sample: seeing 24 chairs does not establish that 24 is the maximum.
In the browser reference, choose a field to read its definition alongside the three source values. Changing the field changes the reading view only. It does not edit the dataset, validate your file or save a revised dictionary. The complete CSV files remain the editable sources.
Fill unknown definitions with questions
If nobody has defined a field, leave its definition unresolved and ask its owner. A tidy guessed definition can be harder to spot than an explicit blank. Use this prompt when turning existing source notes into a first dictionary:
Prepare a data dictionary as CSV using only the supplied source notes.
Dataset name and version: [fill in]
Meaning of one row: [fill in]
Exact column headers: [paste]
Definitions and known types or units: [paste]
Allowed values and missing-value meanings: [paste]
Maintainer and source reference: [fill in or leave blank]
Permitted sample rows: [paste]
Return one row per exact header with field, label, type, unit,
definition, allowed_values and missing_meaning columns.
Keep missing definitions blank and list specific questions separately.
Do not infer maxima, units, codes or meanings from sample values.
Preserve the dataset; do not clean or rewrite its records.
Match the finished dictionary against every actual header before sending it. If a column was added or renamed, update both files' version notes and resolve the unmatched field. Once the meanings are agreed, the data-cleaning guide covers reviewing transformations; the data-analysis guide covers checking calculations. Keep those later tasks separate from defining what the source says.
Send the maintained dictionary and source file together. Ask the recipient to explain one zero, one blank and one coded value using the dictionary alone. Their unanswered question tells you which definition to fix before the next handoff.
Download the source dataset CSV · Download the filled dictionary CSV · Download the blank dictionary CSV header