GTF: the GPL'ed TLA FAQ
If, like me, you run into a lot of three-letter abbreviations (TLAs), you
may want to refer to the GPL'ed TLA FAQ (GTF). Originally the product of a
drinking binge with Bart Samwel,
this is a list (in minimal plaintext format) of over 30,000 known TLAs and
their meanings. Here you can find the meanings of cryptic and often unnecessary
TLAs such as GNU, GTF, and FAQ. Never again utter the words "WTF? OMG, YAT!"
in vain. Elon Musk may have
said it best.
The GTF is being made available under the GNU
General Public License (GPL) as defined by the
Free Software Foundation (FSF), hence the
NEW: There are now REST APIs for querying the GTF! See "APIs"
The TLAs in this list are not explained any further, nor will you find any
reference to their origins. This was a deliberate choice. The GTF is not an
encyclopedia. The threshold to contribution is kept low, and this is how it can
contain so many entries. That's not to say that any TLA is accepted; all TLAs
are both vetted by hand, and checked by a shell script (see below) to keep
duplicates and obvious or probable mistakes out of the list.
Here are some of the checks that each TLA must pass before getting a place
in the list:
- A TLA consists of three letters. No ampersands, no hyphens, no exclamation
points, no slashes, and no digits. Abbreviations like IE3, B2B, B2C,
P2P and 3M are not included. Nor are AT&T, B&B, or OS/X. We accept
lower-case letters, but we turn them into upper-case ones.
- If the usual abbreviation for something doesn't fit the GTF format, but a
TLA-shaped variant is used in real life, the variant can be included.
- Abbreviations must span multiple words. This gets a bit hazy with the habit
of including random whitespace in English compound nouns, which we may sometimes
use as an excuse to include a highly popular TLA. A hyphen somewhere between
letters used in the TLA is enough to qualify, but ACK for ACKnowledgment is
definitely not getting in. (This is also why you won't find TNT here, which
stands for TriNitroToluene). The TLA's initial letters need not be at the
beginning of a word, so long as they come from different words.
- Not all letters found in the acronym actually need to occur in the meaning.
Words like "cross" and "trans" are frequently abbreviated to an X, which helps
fill out our coverage of the total TLA space very nicely. Letters appearing in
the abbreviation are always in upper case; if not all of the abbreviation's
letters are in the meaning, we suffix the meaning with a bracketed exclamation
- For a TLA to be included, either it must be commonly used in the
English-speaking world or its meaning must be in the English language. This is
why BMW (Bayerische MotorWerke) is included, but HSV (Hamburger SportVerein) is
not. This is an arbitrary choice, and by the terms of the GPL, anyone who is
dissatisfied with this choice is free to fork off their own version.
- The list is in ASCII. Any diacritical marks we transacribe in standard
ways where possible, or we drop them. Thus "café" becomes "cafe" and
"Müsli" becomes "Muesli"... I have no idea how to transcribe the Spanish
'ñ', but luckily the Spanish language does not seem to have contributed
much to TLA culture. Well done, Spanish!
- Before you ask: We consider "KGB" an abbreviation of a
transcription to ASCII, not a transcription of an abbreviation,
and so it just barely made it in. The real reason for this is that
it's far too popular to omit.
- If there is an official definition, accidental variations on the definition
are not included. There's an incredible number of mistaken explanations out
there, usually substituting cliché TLA words for more sensible ones:
"Unicode Character System" instead of "Universal Character Set," "Video" instead
of "Visual" etc. The intent is to keep these out, though obviously many of them
will sneak in because it's impossible to know everything.
- Jokes and parodies are accepted without qualms. Mothers Against Canada
(MAC) was invented for South Park: Bigger, Longer and Uncut. No problem. WAP
doesn't really stand for Where Are the Phones, but back in the late 20th
century, it might as well have. Both definitions (the official one is Wireless
Application Protocol) are welcome as long as they are actually used
somewhere. Once is enough, assuming it wasn't done just to get it included
here. Yes, that happens.
- Names are allowed. Companies, famous people, underground movements
whether real or fictional, landmarks, universities — send 'em in.
- We include some clarifying additions in the meanings,
written between square brackets. This feature was added mainly to allow for
conspicuous omissions from the abbreviation, as in the "Centers for Disease
Control [and Prevention]" (CDC). Minor clarifications are allowed, e.g.
"[Microsoft] Windows" avoids confusion since "windows" is a generic term in
computing but is being used as if it were a trademark. The general rule is: try
to keep these additions shorter than your own name. Naturally my friends Ng Pi
and Al Al are exempt from this rule.
You can view the GTF directly in plain text. We also have smaller lists, broken down by first letter:
There's the shell script I use to maintain,
sort, inspect and generally groom the list. Requires a typical Unix-like
command line shell plus several common utilities. I recommend the
The shell script also generates some statistics on the
contents of the list.
Creative minds have produced web APIs for querying the GTF:
GTF Contributor Program
If you find a TLA that satisfies the above rules but is not in the list,
please send it to me (jtv at xs4all.nl) for inclusion. The
preferred format is the simplest one possible--one or more lines, each
consisting of one TLA and, separated from it only by whitespace, its meaning
with the letters forming the TLA capitalized (as well as any others that need to
be in upper case, as in names or other abbreviations).
Your contribution is normally included in the list very quickly. Once it is,
you may copy the gtfcontrib.png "GTF contributor" logo and display it
on your website to show that you've contributed to the GTF:
alt="GTF Contributor" />
Congratulations! You've just joined the GTF Contributor Program (GCP).
Sometimes GTF users come up with the nicest ideas for extending the scope of
the GTF. To name some ideas that have come up:
- WFD had the idea of automating a Google search on existing entries, and
listing the result count with each entry to give an idea of the "legitimacy" or
popularity of a particular TLA meaning. Who's willing to write one?
- Henk van Voorthuijsen has proposed a number of really imaginative graphical
overviews of TLA-space population.
- Wichert Akkerman wrote a TLA-lookup mode for his "URL stretcher." This
little gimmick "stretched" URLs to longer, more interesting-looking names.
In the case of the TLA-lookup mode, it did that by looking up each three-letter
combination in the GTF and picking the longest available interpretation.
- Kirit Saelensminde built an Ajax-based searchable web database in 15 lines
of code, using his custom lightweight document database. (Until he added
comments and such, of course.)
I can't afford to implement all these wonderful ideas myself on the main
GTF page; my task is to maintain the list itself. But that's not saying that
I'm opposed to these improvements! The project is under the GPL, i.e. it's Free
as in Speech (or Open Source, if you prefer, as defined by the
Open Source Initiative (OSI), not related
to Ontario Swine Improvement (OSI)). Take it,
copy it, modify it! As long as you keep the license intact when you
redistribute, there's nothing stopping you from setting up a mirror site that
adds your own stuff to the database--whether to the user interface or to the
Probably the best way to do this is to set up a script that downloads the
original from the GTF homepage every day, then processes it for your purposes
(if needed) and makes the results available on your own site. Have a ball!
Make it your homework project for learning Perl or Python or PHP. Make it your
test case for Apache or PostgreSQL. Impress me. Make me proud.
I always have some more TLAs stowed away waiting to be integrated. Still,
the GTF needs your help. Show the world--and the ICT world in particular--that
it's going overboard with its TLA production. Help the environment, submit
new entries. It's as simple as that.
Only major or interesting changes are shown here. The GTF is in constant flux;
don't think that nothing is happening just because you see no new entries here!
- 2021-01-11 Finally added Henk and Kirit's
- 2011-11-11 16:59 UTC Ten thousand different TLAs. Many
thanks, Henk van Voorthuijsen!
- 2011-08-23 04:09 UTC Hit 56%, thanks to Henk van
- 2011-08-09 18:49 UTC Reached 9800 unique TLAs, thanks to Henk
- 2007-04-23 13:27 Fixed bashism in script that blocked updates
for quite some time. Also, better upload performance and more
automation. Replaced old "scp" upload method with "rsync."
- 2007-02-03 12:13 Henk van Voorthuijsen has made it his new
year's resolution to try and fill up then "holes" per day. He's
finding TLAs for previously uncovered three-letter combinations
at an impressive rate. Thank you, Henk!
- 2006-11-13 09:30 Fixed some bashisms in scripts.
- 2006-08-20 16:30 Reorganized homepage; added breakdown by
- 2005-08-22 13:55 Hit 51% mark. Thanks Henk van
- 2005-07-13 21:30 The E in DEK stands for Ervin, not Erwin.
Thanks DEK and Maggie McLoughlin.
- 2005-03-26 19:30 Hit 20,000 mark--thanks Bart Samwel!
- 2005-03-24 23:00 More than half of TLA space covered!
- 2005-02-19 22:40 Hit 19,000 mark.
- 2004-08-20 13:20 Hit 18,000 mark. Thanks Avram Lyon.
- 2004-08-18 14:40 Improved logo--thanks again Henk.
- 2004-08-17 19:40 Added "GTF contributor" logo--thanks Henk
- 2004-08-17 16:50 Improved duplicate detection in script.
- 2004-08-17 16:50 More entries than there are TLAs!
- 2004-08-03 14:50 Documented lower-case letters.
- 2004-07-26 14:50 Fixed minor script bugs.
- 2004-07-25 23:00 More script optimizations.
- 2004-07-25 14:30 Made script faster and safer.
- 2004-07-15 16:30 Hey, we passed the 17,000 mark...
- 2004-07-15 16:00 Finally documented inclusion rules.
- 2004-03-02 12:15 Passed 16,000 TLA mark. Thanks Bart!
- 2004-03-02 01:45 Hit 7,000 distinct TLAs.
- 2004-03-02 01:45 Script compares to maximum number of unique
- 2003-01-11 00:45 Passed 15,000 TLA mark.
- 2003-10-07 00:00 Passed 14,000 TLA mark.
- 2003-09-01 14:45 Fixed for change in "uniq -c" output.
- 2003-06-10 18:45 Passed 13,000 TLA mark (5600 different
acronyms). Thanks Bart Samwel!
- 2003-06-05 21:00 Script now recognizes some alternate
spellings: realize vs. realise, honor vs. honour.
- 2003-05-19 02:00 Passed 12,000 TLA mark.
- 2003-04-22 14:00 Improved duplicate/incorrect TLA search in
- 2003-04-04 21:30 Hit 5,000 distinct TLAs.
- 2003-02-13 00:10 Passed 11,000 TLA mark.
- 2003-01-28 16:00 Passed 10,000 TLA mark!
- 2003-01-20 18:00 Passed 9,000 TLA mark.
- 2002-12-24 22:15 Thanks Wichert Akkerman for a bunch of
- 2002-12-09 01:00 Script now prints date.
- 2002-11-01 13:00 Hey, ACE is no longer the most-overloaded
TLA. It's been bumped to the number 2 spot by (ahem) GTF.
Personally, I blame Bart Samwel and Google.
- 2002-10-23 17:45 Replaced sort -g in script with sort -n.
Thanks to William Dowling.
- 2002-10-23 15:30 Fixed script; trailing whitespace wasn't
being removed if last "real" character was a non-word char.
- 2002-10-20 18:45 Script now strips trailing whitespace, is
generally more helpful in reformatting entries.
- 2002-10-20 18:45 Obviated "uniq" in gtfsort using
- 2002-09-28 23:45 Cleaned up gtfsort output.
- 2002-09-28 23:45 Latest statistics now online.
- 2002-09-17 01:30 Passed the 8,000 TLA mark.
- 2002-07-10 21:15 Maintenance script now also replaces spaces
with tabs where appropriate. Thanks again, William F.
- 2002-05-29 21:15 Thanks Bart Samwel for another impressive
- 2002-05-05 20:00 Passed the 7,500 TLA mark.
- 2002-03-08 19:45 Updated maintenance script.
- 2002-02-24 16:00 Illuminatus! TLAs. Thanks to Ray
<FNORD> <FNORD> <FNORD>
- 2002-02-13 22:45 Better description for maintenance script.
- 2002-02-11 23:59 Made maintenance script available.
- 2002-01-09 00:30 GTF got its own home page!
- 2001-12-27 23:58 "Weird" entries now marked with [!].
- 2001-12-27 23:30 Quality overhaul thanks to William F.
Dowling's Unix command line wizardry.
- 2001-12-27 23:30 Not to mention some good new entries.
- 2001-11-17 20:00 Officially released under GPL.
Jeroen Vermeulen Home