Validator reference
Every GTFS notice,
one place to fix it.
Browse 191 GTFS validation notice codes with severity, affected files, report fields, repair guidance, and specification references.
SeverityNoticeFiles to check
WARNING
agency_phone_invalidCheck the agency's public phone number
agency.txt
WARNING
attribution_without_roleAn attribution does not say what the organization does
attributions.txt
ERROR
bidirectional_exit_gateAn exit-only gate allows travel in both directions
pathways.txt
INFO
big_gap_in_serviceA service has a gap of at least 14 days
calendar.txt, calendar_dates.txt
ERROR
block_trips_with_overlapping_stop_timesOne vehicle is assigned to overlapping trips
trips.txt
ERROR
csv_parsing_failedA file could not be read as CSV
See report
ERROR
decreasing_or_equal_stop_time_distanceDistance does not increase between stops
stop_times.txt
ERROR
decreasing_shape_distanceDistance goes backwards along a shape
shapes.txt
WARNING
duplicate_fare_mediaTwo fare media have the same name and type
fare_media.txt
ERROR
duplicate_geo_json_keyTwo geographic features use the same ID
locations.geojson
ERROR
duplicate_geography_idAn ID is shared by different location types
stops.txt, location_groups.txt
ERROR
duplicate_keyTwo rows have the same unique key
See report
WARNING
duplicate_route_nameTwo routes have indistinguishable names
routes.txt
WARNING
duplicate_tripTwo records describe the same scheduled trip
stop_times.txt, trips.txt
ERROR
duplicated_columnA column name appears twice
See report
ERROR
empty_column_nameA column has no name
See report
ERROR
empty_fileA GTFS file has no usable content
See report
WARNING
empty_rowA file contains a blank row
See report
ERROR
equal_shape_distance_diff_coordinatesDifferent shape points have the same distance
shapes.txt
WARNING
equal_shape_distance_diff_coordinates_distance_below_thresholdNearby shape points share a rounded distance
shapes.txt
WARNING
equal_shape_distance_same_coordinatesA shape repeats the same point and distance
shapes.txt
WARNING
expired_calendarA service's active dates have ended
calendar.txt, calendar_dates.txt
ERROR
fare_product_with_multiple_default_rider_categoriesA fare product has more than one default rider category
fare_products.txt, rider_categories.txt
ERROR
fare_transfer_rule_duration_limit_type_without_duration_limitA transfer time limit has no duration
fare_transfer_rules.txt
ERROR
fare_transfer_rule_duration_limit_without_typeA transfer duration does not say how to measure it
fare_transfer_rules.txt
ERROR
fare_transfer_rule_invalid_transfer_countThe allowed transfer count is invalid
fare_transfer_rules.txt
ERROR
fare_transfer_rule_with_forbidden_transfer_countA transfer count is set where it is not allowed
fare_transfer_rules.txt
ERROR
fare_transfer_rule_without_transfer_countA within-group transfer rule has no transfer count
fare_transfer_rules.txt
WARNING
fast_travel_between_consecutive_stopsTravel between two stops appears too fast
routes.txt, stop_times.txt
WARNING
fast_travel_between_far_stopsTravel between distant stops appears too fast
routes.txt, stop_times.txt
WARNING
feed_expiration_date30_daysThe feed has less than a month of validity left
feed_info.txt
WARNING
feed_expiration_date7_daysThe feed expires within seven days
feed_info.txt
WARNING
feed_info_lang_and_agency_lang_mismatchThe feed and agency languages do not agree
agency.txt, feed_info.txt
INFO
feed_valid_beyond_total_service_windowFeed validity extends well beyond the service dates
feed_info.txt, calendar.txt
ERROR
forbidden_arrival_or_departure_timeA stop-time row mixes fixed times and a service window
stop_times.txt
ERROR
forbidden_continuous_pickup_drop_offRoute-wide continuous service conflicts with a pickup window
routes.txt, stop_times.txt
ERROR
forbidden_drop_off_typeScheduled drop-off conflicts with a service window
stop_times.txt
ERROR
forbidden_geography_idA stop-time row identifies more than one location
stop_times.txt
ERROR
forbidden_pickup_typeThe pickup type conflicts with a service window
stop_times.txt
ERROR
forbidden_prior_day_booking_field_valueAn advance-booking rule contains incompatible fields
booking_rules.txt
ERROR
forbidden_prior_notice_start_dayTwo alternative booking-window limits are both set
booking_rules.txt
ERROR
forbidden_prior_notice_start_timeA booking start time has no start day
booking_rules.txt
ERROR
forbidden_real_time_booking_field_valueA real-time booking rule contains advance-notice fields
booking_rules.txt
ERROR
forbidden_same_day_booking_field_valueA same-day booking rule contains incompatible fields
booking_rules.txt
ERROR
forbidden_shape_dist_traveledA distance is assigned to an area or stop group
stop_times.txt
ERROR
foreign_key_violationA record refers to an ID that does not exist
See report
INFO
future_calendarAll services start after today
calendar.txt, calendar_dates.txt
INFO
future_feedThe feed's validity starts after today
feed_info.txt
ERROR
geo_json_duplicated_elementA GeoJSON object contains a repeated field
locations.geojson
INFO
geo_json_unknown_elementA GeoJSON field is not recognized
locations.geojson
ERROR
google_ic_price_checkThe Google smart-card fare value is invalid
fare_attributes.txt
WARNING
google_transfer_type_checkGoogle Transit may ignore this transfer type
transfers.txt
WARNING
headway_too_largeThe interval between departures is over an hour
frequencies.txt
ERROR
i_o_errorThe validator could not read or write data
See report
WARNING
inconsistent_agency_langAgencies use different language tags
agency.txt
ERROR
inconsistent_agency_timezoneAgencies in one feed use different time zones
agency.txt
WARNING
inconsistent_route_type_for_block_idOne vehicle block mixes transport types
routes.txt, trips.txt
WARNING
inconsistent_route_type_for_in_seat_transferA stay-on-board transfer connects different transport types
routes.txt, transfers.txt
ERROR
invalid_characterA text value contains a damaged or invalid character
See report
ERROR
invalid_colorA color is not a six-digit hexadecimal value
See report
ERROR
invalid_currencyA currency code is not recognized
See report
ERROR
invalid_currency_amountA fare amount does not match its currency's precision
See report
ERROR
invalid_dateA date is not a valid YYYYMMDD value
See report
ERROR
invalid_emailAn email address has an invalid format
See report
ERROR
invalid_floatA field contains an unreadable decimal number
See report
ERROR
invalid_geometryA service-area polygon is invalid
locations.geojson
ERROR
invalid_input_files_in_subfolderGTFS files are inside a folder in the ZIP
See report
ERROR
invalid_integerA whole-number field contains another kind of value
See report
ERROR
invalid_language_codeA language tag is invalid
See report
ERROR
invalid_phone_numberA phone number does not pass the regional format check
See report
ERROR
invalid_pickup_drop_off_windowA pickup/drop-off window does not end after it starts
stop_times.txt
ERROR
invalid_prior_notice_duration_minThe minimum booking notice exceeds the maximum
booking_rules.txt
ERROR
invalid_row_lengthA CSV row has the wrong number of fields
See report
ERROR
invalid_timeA time is not in GTFS format
See report
ERROR
invalid_timezoneA time-zone name is not recognized
See report
ERROR
invalid_urlA web address has an invalid format
See report
WARNING
leading_or_trailing_whitespacesA value has extra spaces at its edges
See report
ERROR
location_with_unexpected_stop_timeA scheduled stop refers to the wrong location type
stop_times.txt, stops.txt
ERROR
location_without_parent_stationA location is missing its required parent
stops.txt
ERROR
malformed_jsonA JSON file cannot be read
See report
WARNING
missing_bike_allowanceA ferry trip does not state whether bikes are allowed
routes.txt, trips.txt
ERROR
missing_calendar_and_calendar_date_filesThe feed has no service calendar
calendar.txt, calendar_dates.txt
WARNING
missing_feed_contact_email_and_urlThe feed has no data-support contact
feed_info.txt
WARNING
missing_feed_info_dateOnly one feed-validity date is provided
feed_info.txt
ERROR
missing_level_idAn elevator endpoint has no station level
stops.txt, pathways.txt
WARNING
missing_pickup_drop_off_booking_rule_idA bookable service does not link to booking instructions
stop_times.txt
ERROR
missing_pickup_or_drop_off_windowA service window is missing one boundary
stop_times.txt
ERROR
missing_prior_day_booking_field_valueAn advance-booking rule has an incomplete deadline
booking_rules.txt
ERROR
missing_prior_notice_duration_minA same-day booking rule has no minimum notice
booking_rules.txt
ERROR
missing_prior_notice_last_dayAn advance-booking deadline is missing its day
booking_rules.txt
ERROR
missing_prior_notice_last_timeAn advance-booking deadline is missing its time
booking_rules.txt
ERROR
missing_prior_notice_start_timeA booking opening day is missing its time
booking_rules.txt
WARNING
missing_recommended_columnA recommended column is missing
See report
WARNING
missing_recommended_fieldA recommended value is missing from a row
See report
WARNING
missing_recommended_fileA recommended GTFS file is absent
See report
ERROR
missing_required_agency_idA multi-agency feed is missing an agency ID
agency.txt, fare_attributes.txt
ERROR
missing_required_columnA required column is missing from the header
See report
ERROR
missing_required_elementA GeoJSON object is missing a required element
locations.geojson
ERROR
missing_required_fieldA required value is empty
See report
ERROR
missing_required_fileThe archive is missing a required GTFS file
See report
ERROR
missing_stop_nameA stop, station, or entrance has no name
stops.txt
ERROR
missing_stop_times_recordTravel within a flexible area needs a second record
stop_times.txt
WARNING
missing_timepoint_valueA timed stop does not say whether its times are exact
stop_times.txt
ERROR
missing_trip_edgeThe first or last stop is missing required times
stop_times.txt
WARNING
mixed_case_recommended_fieldPassenger text uses an unusual letter case
See report
WARNING
more_than_one_entityA single-record file contains multiple records
See report
ERROR
new_line_in_valueA field contains an unexpected line break
See report
WARNING
non_ascii_or_non_printable_charAn ID contains unusual or invisible characters
See report
ERROR
number_out_of_rangeA number is outside the allowed range
See report
ERROR
overlapping_frequencyDeparture-frequency periods overlap for one trip
frequencies.txt
ERROR
overlapping_zone_and_pickup_drop_off_windowFlexible service areas overlap at the same time
stop_times.txt, locations.geojson
WARNING
pathway_dangling_generic_nodeAn internal station node connects to only one location
pathways.txt, stops.txt
WARNING
pathway_loopA pathway starts and ends at the same location
pathways.txt
ERROR
pathway_to_platform_with_boarding_areasA pathway should connect to a boarding area
pathways.txt
ERROR
pathway_to_stop_with_access_outside_of_station_pathwaysA street-access stop is linked into station pathways
pathways.txt, stops.txt
ERROR
pathway_to_wrong_location_typeA pathway points to a station container
pathways.txt
ERROR
pathway_unreachable_locationPart of the station cannot be reached or exited
pathways.txt, stops.txt
INFO
platform_without_parent_stationA stop or platform has no parent station
stops.txt
ERROR
point_near_originA coordinate is suspiciously close to 0,0
See report
ERROR
point_near_poleA coordinate is suspiciously close to a pole
See report
ERROR
prior_notice_last_day_after_start_dayThe booking deadline precedes the booking opening window
booking_rules.txt
ERROR
route_both_short_and_long_name_missingA route has no passenger-facing name
routes.txt
WARNING
route_color_contrastThe route text is hard to read against its color
routes.txt
WARNING
route_long_name_contains_short_nameThe long route name repeats the short name
routes.txt
ERROR
route_networks_specified_in_more_than_one_fileRoute-network membership uses conflicting sources
routes.txt, route_networks.txt
WARNING
route_short_name_too_longThe short route name is longer than 12 characters
routes.txt
ERROR
runtime_exception_in_loader_errorThe validator failed while loading a file
See report
ERROR
runtime_exception_in_validator_errorA validation rule failed unexpectedly
See report
WARNING
same_name_and_description_for_routeThe route description repeats its name
routes.txt
WARNING
same_name_and_description_for_stopThe stop description repeats its name
stops.txt
WARNING
same_route_and_agency_urlA route link opens the agency's general page
agency.txt, routes.txt
WARNING
same_stop_and_agency_urlA stop link opens the agency's general page
agency.txt, stops.txt
WARNING
same_stop_and_route_urlA stop link opens a route page
routes.txt, stops.txt
INFO
service_extends_far_in_the_futureA service calendar extends more than two years ahead
calendar.txt, calendar_dates.txt
WARNING
service_has_no_active_day_of_the_weekA weekly calendar has no operating weekdays
calendar.txt
WARNING
service_never_activeA service is never scheduled to run
calendar.txt, calendar_dates.txt
INFO
service_window_outside_feed_periodService dates fall outside the declared feed period
feed_info.txt, calendar.txt
WARNING
single_shape_pointA route shape contains only one point
shapes.txt
ERROR
start_and_end_range_equalAn interval starts and ends at the same time
See report
ERROR
start_and_end_range_out_of_orderAn interval ends before it starts
See report
ERROR
station_with_parent_stationA station is nested under another location
stops.txt
ERROR
stop_access_specified_for_incorrect_locationThe access flag is set on the wrong location type
stops.txt
ERROR
stop_access_specified_for_stop_with_no_parent_stationThe access flag is set on a standalone stop
stops.txt
WARNING
stop_has_too_many_matches_for_shapeA stop matches several parts of the route shape
stop_times.txt, stops.txt
WARNING
stop_headsign_invalid_charA stop headsign contains a Google-incompatible character
stop_times.txt
ERROR
stop_time_timepoint_without_timesAn exact timepoint is missing its times
stop_times.txt
ERROR
stop_time_with_arrival_before_previous_departure_timeThe next stop is reached before the previous departure
stop_times.txt
ERROR
stop_time_with_only_arrival_or_departure_timeA stop has only an arrival time or only a departure time
stop_times.txt
WARNING
stop_too_far_from_shapeA stop is too far from the trip's route line
shapes.txt, stop_times.txt
WARNING
stop_too_far_from_shape_using_user_distanceA stop's distance places it far from its real location
stop_times.txt, stops.txt
ERROR
stop_without_locationA stop, station, or entrance is missing coordinates
stops.txt
WARNING
stop_without_stop_timeNo trip directly visits this stop
stop_times.txt, stops.txt
INFO
stop_without_zone_idA stop is missing a zone required by its fare rules
stops.txt, stop_times.txt
WARNING
stops_match_shape_out_of_orderThe stop order disagrees with the route shape
stop_times.txt, stops.txt
ERROR
thread_execution_errorA background validation task failed
See report
ERROR
timeframe_only_start_or_end_time_specifiedA fare timeframe is missing one time boundary
timeframes.txt
ERROR
timeframe_overlapFare timeframes overlap within the same group and service
timeframes.txt
ERROR
timeframe_start_or_end_time_greater_than_twenty_four_hoursA fare timeframe uses a time after 24:00:00
timeframes.txt
WARNING
too_many_days_without_serviceThe whole feed has a long gap with no service
calendar.txt, calendar_dates.txt
ERROR
too_many_rowsA file exceeds a processing limit
See report
INFO
transfer_distance_above_2_kmA transfer connects stops more than 2 km apart
stops.txt, transfers.txt
WARNING
transfer_distance_too_largeA transfer connects stops more than 10 km apart
stops.txt, transfers.txt
ERROR
transfer_with_invalid_stop_location_typeA transfer endpoint is not a stop or station
transfers.txt
ERROR
transfer_with_invalid_trip_and_routeA transfer's trip belongs to a different route
transfers.txt
ERROR
transfer_with_invalid_trip_and_stopA transfer's trip does not serve its stated stop
transfers.txt
WARNING
transfer_with_suspicious_mid_trip_in_seatA stay-on-board transfer occurs in the middle of a trip
stop_times.txt, stops.txt
ERROR
translation_foreign_key_violationA translation refers to a record that cannot be found
translations.txt
ERROR
translation_unexpected_valueA translation contains a field that must be empty
translations.txt
WARNING
translation_unknown_table_nameA translation names an unknown or missing table
translations.txt
WARNING
trip_coverage_not_active_for_next7_daysThe main timetable coverage ends within seven days
calendar.txt, calendar_dates.txt
ERROR
trip_distance_exceeds_shape_distanceThe last stop's distance goes beyond the shape
shapes.txt, stop_times.txt
WARNING
trip_distance_exceeds_shape_distance_below_thresholdThe stop distance exceeds the shape despite nearby endpoints
shapes.txt, stop_times.txt
INFO
trip_headsign_matches_intermediate_stopThe destination display names an intermediate stop
stop_times.txt, stops.txt
INFO
trip_with_shape_dist_traveled_but_no_shape_distancesStop distances have no complete matching distances on the shape
shapes.txt, stop_times.txt
ERROR
u_r_i_syntax_errorA resource address cannot be read as a URI
See report
WARNING
unexpected_enum_valueA coded field contains an unrecognized value
See report
INFO
unknown_columnA column name is not recognized
See report
INFO
unknown_fileA file in the archive is not recognized
See report
INFO
unsorted_stop_timesStop-time rows are not grouped and ordered by trip
stop_times.txt
ERROR
unsupported_feature_typeA GeoJSON item is not a Feature
locations.geojson
ERROR
unsupported_geo_json_typeThe GeoJSON root is not a FeatureCollection
locations.geojson
ERROR
unsupported_geometry_typeA service area is not a Polygon or MultiPolygon
locations.geojson
WARNING
unusable_tripA trip has too few stops for a passenger journey
stop_times.txt, trips.txt
WARNING
unused_agencyNo route refers to this agency
agency.txt, routes.txt
INFO
unused_parent_stationA station has no child locations
stops.txt
WARNING
unused_routeA route has no trips
routes.txt, trips.txt
WARNING
unused_shapeNo trip uses this route shape
shapes.txt, trips.txt
INFO
unused_stationA station has no child locations
stops.txt
WARNING
unused_stopA stop is not used by trips or their station hierarchy
stop_times.txt, stops.txt
WARNING
unused_tripA trip has no stop-time records
stop_times.txt, trips.txt
ERROR
wrong_parent_location_typeA location points to the wrong kind of parent
stops.txt
No notice codes match this search.