Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time Continuous tabular data validation

Goodtables increases your confidence in your data by performing a number of checks on it. It is able to validate things like:

  • Is my CSV valid?
  • Do all rows have the same number of columns?
  • Are all dates valid?
  • Is there any invalid e-mail?

If any of the checks fail, goodtables generates a report telling you which and where the errors occurred.

Example report with failed validation

By adding goodtables to your data publishing workflow, you'll make sure your data is free from these types of errors.


  • Structural checks: Ensure that there are no empty rows, no blank headers, etc.
  • Content checks: Ensure that the values have the correct types ("string", "number", "date", etc.), that their format is valid ("string must be an e-mail"), and that they respect the constraints ("age must be a number greater than 18").
  • Support for multiple tabular formats: CSV, Excel, LibreOffice, Data Package, etc.
  • Automatically validate data on every update: Support for data on GitHub and Amazon S3.

Table of Contents

.. toctree::
   :maxdepth: 2