User Tools

Site Tools



A GTFS feed is composed of a series of text files collected in a ZIP file. Each file models a particular aspect of transit information: stops, routes, trips, and other schedule data. The details of each file are defined in the GTFS reference.

GTFS Spezification:

Check out for an up to date list of GTFS sources, tools and more.

  • Routes are equivalent to “Lines” in public transportation systems. Routes are defined in the file routes.txt, and are made up of one or more Trips.
  • A Trip represents a journey taken by a vehicle through Stops. Trips are time-specific — they are defined as a sequence of StopTimes, so a single Trip represents one journey along a transit line or route.
  • A StopTime defines when a vehicle arrives at a location, how long it stays there, and when it departs.




quickly browse/validate a GTFS file. It even includes a map view.

Visit and upload your GTFS (it's a local web app)


GTFS editor, not as powerful as IBI transit (e.g. does not even have a map view for routes), but easy to install (simply download and run the executable)

IBI transit

Suite for importing / creating / editing and publishing GTFS feeds.

Quite complex to set up, but very powerful:

OneBusAway (Java/CLI)

Nice command line tool to extract / merge / edit GTFS.

OneBusAway is a library for transforming and merging GTFS data sets. Amongst others it features two handy CLIs:

As of 2021 current builds are no longer provided (not in maven central, and not on the onebusaway nexus) - so probably you have to build it from source.


Example: remove AST


{"op":"remove","match":{"file":"routes.txt","route_short_name":"AST AST"}}
{"op":"remove","match":{"file":"routes.txt","route_short_name":"AST AST Maxi"}}
java -jar onebusaway-gtfs-transformer-cli-1.3.X.jar --transform=remove_ast.txt

Example: only keep two lines from a whole dataset

java -jar onebusaway-gtfs-transformer-cli-1.3.34.jar --transform='{"op":"retain", "match":{"file":"routes.txt", "route_short_name":"31"}}' --transform='{"op":"retain", "match":{"file":"routes.txt", "route_short_name":"33A"}}'

transitfeed (Python - outdated!)

by Google

sudo pip install transitfeed

Or get the trunk from

svn co

Comes with some command line tools

  • feedvalidator
  • kmlwriter



Working with GTFS

On receiving a GTFS archive

Use transitfeeds on a zip file to obtain a detailed report on the data quality.

gtfs.txt · Last modified: 2021/09/09 10:53 by mstraub