by Ray Patrick
(other software)

NORAD two-line element set processor

Chart of two-line element set fields


I host tle at my Git server. To download tle, simply run:

git clone git://
cd tle
sudo make install


tle is a NORAD two-line element set (TLE or ELSET) processor. It is a simple text filter, meaning it handles the TLE data as a stream of plain text and also provides plain text as its output. This allows you to combine tle with your built-in command-line utilities in powerful ways to solve problems involving TLEs and orbital math, but without the needless complexity and overhead you would get with a GUI-driven program or a so-called Web application. Don't reinvent the wheel!

The capabilities of tle include:

These tasks can be done manually from the command line, or you can write your own wrapper scripts to do them automatically. In fact, because the dependencies are so light, any basic Unix-like system, including Web servers, Raspberry Pis or Arduinos, can run it with no trouble!



tle installs with its own man page, which you can view by running $ man tle at the command line. You can also run $ tle (without any arguments) to print an abbreviated set of usage instructions to stdout. Here's a summary:

Basic Syntax

$ tle command (argument)

The basic invocation of tle follows the above syntax: tle, followed by a mandatory command, followed most of the time by an argument.

Commands and Arguments

Here is a list of the possible commands with their arguments:

$ tle sat id
Prints the TLE of the satellite specified by id, which can be a NORAD catalog number (sometimes called SATNO or SCC#) or an International Designator (sometimes called a COSPAR ID) of the form YYLLL(A...). For example, you can retrieve the TLE for the International Space Station by using 25544 (SATNO) or 98067A (int. des.) as the id argument. SATNOs with fewer than 5 significant digits must be padded with zeros, e.g. 00005.
$ tle decode id
Prints a more human-readable list of orbital elements.
$ tle epochtime id
Displays the epoch time of the specified ELSET.
$ tle age id
Displays the age of the specified ELSET (time elapsed since epoch time, according to the system clock).
$ tle places (name) or (edit)
If the argument name is a name found in places.csv, displays characteristics associated with that place (latitude, longitude, elevation, look angle restrictions, and so on.) If the word edit is passed as the argument, opens places.csv in $EDITOR.
$ tle update (auto)
Queries for the latest TLEs and copies them to your local spacetrack catalog (located by default in /usr/local/share/tle). Will prompt you for your username and password unless given the auto argument, in which case it will attempt to locate your saved username and password.


tle is free software, released under the GNU General Public License, version 3. You are free (and I encourage you!) to copy, modify, and distribute this software, in original or modified state, without anyone's permission, as long as you also release it under this license.