The General Transit Feed Specification is the dominant open standard for publishing public transportation schedule and route information. Used by thousands of transit agencies worldwide, GTFS enables applications like Google Maps, Apple Maps, and hundreds of third-party transit apps to provide accurate journey planning and real-time arrival information to millions of riders daily. It stands as one of the most successful examples of an open data standard transforming an entire industry.
Background
GTFS originated in 2005 from a collaboration between Google and TriMet, the public transit agency serving the Portland, Oregon metropolitan area. Bibiana McHugh at TriMet and Chris Harrelson at Google worked together to create a simple format that would allow transit agencies to share their schedule data with Google Transit (later integrated into Google Maps). The format was initially called the Google Transit Feed Specification.
The standard's simplicity was deliberate: it uses plain CSV files packaged in a ZIP archive, making it accessible to agencies with limited technical resources. This pragmatic design choice proved transformative. Within a few years, hundreds of transit agencies had published GTFS feeds, and a rich ecosystem of tools and applications emerged around the format. In 2009, the name was changed to General Transit Feed Specification to reflect its role as a community standard beyond Google. Governance was later transferred to MobilityData, a nonprofit organization dedicated to improving mobility data standards.
Purpose & Scope
GTFS consists of two complementary components. GTFS Schedule (sometimes called GTFS Static) defines the fixed route, stop, trip, and timetable information for a transit system using a set of interrelated CSV files. Required files include agency information, stop locations, route definitions, trip schedules, and stop time sequences. Optional files extend coverage to fare rules, transfers, pathway accessibility, and service calendar variations.
GTFS Realtime extends the static schedule with live data, using Protocol Buffers to deliver real-time trip updates (delays and cancellations), vehicle positions (GPS tracking), and service alerts (disruptions and detours). Together, the two components provide a complete picture of a transit system's planned and actual operations.
Core Files (GTFS Schedule)
| File | Purpose |
|---|---|
agency.txt |
Transit agency identity and contact information |
stops.txt |
Physical locations where vehicles pick up or drop off riders |
routes.txt |
Transit routes (collections of trips displayed as a single service) |
trips.txt |
Individual journeys along a route |
stop_times.txt |
Arrival and departure times at each stop for each trip |
calendar.txt |
Weekly service patterns with start and end dates |
Governance & Maintenance
GTFS is maintained by MobilityData, which coordinates specification changes through an open process on GitHub. Proposed changes go through a public comment period and require demonstration of real-world implementation. Google remains an active participant in the governance process. The specification is published under the Apache 2.0 license.
Notable Implementations
Virtually every major transit agency in North America, Europe, and Australia publishes a GTFS feed. Google Maps, Apple Maps, Moovit, Transit, Citymapper, and OpenTripPlanner all consume GTFS data. The Mobility Database maintained by MobilityData catalogs over 2,000 GTFS feeds worldwide. GTFS has also been extended for new mobility modes, including GTFS-Flex for demand-responsive transit and GTFS-Pathways for in-station navigation.
Related Standards
GTFS exists alongside other mobility data standards such as GBFS (General Bikeshare Feed Specification) for shared mobility and MDS (Mobility Data Specification) for micromobility regulation.