A Java framework for GTFS validation and statistics.
Java JavaScript HTML Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.travis.yml Allow Travis to build pull requests Feb 28, 2017



A Java framework for GTFS validation and statistics.

Build Status

How is this different than the Google-supported validator?

The Google TransitFeed-based validator is written in Python, and is quite slow on large feeds.

This validator uses the Onebusaway-GTFS library, written in Java and is far faster at processing large feeds.


Snapshots are available here

Using this framework

There are then multiple options for use:

  1. Use the pre-built snapshot JAR. java -server -Xmx4g -Xms3g -jar gtfs-validator.jar yourGtfs.zip

  2. Import the services provided and build your own validation.

  3. Use the gtfs-validator-json and gtfs-validator-webapp according to the directions in those folders.

============== ValidatorMain

The ValidatorMain class logs a number of common GTFS errors to Standard Out on the console when run as a JAR. This includes:

  • Problems with route names
  • Bad shape coordinates
  • Unused stops
  • Duplicate stops
  • Missing stop coordinates
  • Missing stop times for trips
  • Stop times out of sequence
  • Duplicated trips (same times)
  • Overlapping trips when block_id is present
  • Missing shapes and shape coordinates
  • “Reversed” shapes with directions that do not agree with stop times.
  • Exhaustively going through the calendar and printing active service IDs and number of trips for that day.
  • Dates with no active service