APRS Symbols Explained — The Complete Reference

When you look at the aprs.world live map — or aprs.fi, or any other APRS client — every dot, car, house, balloon, and storm icon is selected by a tiny two-byte field embedded in the originator's beacon. That two-byte field is the APRS symbol code. This guide explains how it works, walks through the most-used symbols, and helps you pick the right one for your own station.

If you are new to APRS, start with our pillar guide: What is APRS?. If you want to know which frequency to use, see APRS Frequencies by Country.

See the full visual symbol chart → — every primary and alternate table icon, rendered as a browsable grid with its symbol code and meaning.

How the Symbol Byte Works

Every APRS symbol is a pair of ASCII characters, defined in APRS Protocol Reference 1.2, chapter 21 1:

So /> (slash, greater-than) means "primary table, character >" — which renders as a car, drawn side-on. \> (backslash, greater-than) means "secondary table, character >" — the alternate-table vehicle, which unlike the primary car accepts an overlay character. (aprs.org's symbol notes add that it is meant to be drawn top-down, oriented along the station's course; whether a client honours that is up to the client.) The same single character (>) gives a different icon depending on which table identifier prefixes it.

Where those two bytes sit depends on the position format. In an uncompressed position report they are at fixed offsets, one on each side of the longitude:

!4124.55N/02853.30E>020/000comment...
                  ^ symbol table identifier (/ = primary)
                   ^^^^^^^^^ latitude/longitude (already done)
                            ^ symbol code (> = car)

That is it. Two bytes — / and > — tell every receiver in the world to draw a car at your latitude/longitude. Compressed positions (chapter 9) and Mic-E (chapter 10) carry the same two symbol fields elsewhere in the packet. The meaning never changes, though the encoding can: a compressed position writes a numeric overlay as aj rather than 09.

The Primary Table (/)

The primary table contains the original 94 symbols Bruninga defined for general-purpose use. Most everyday APRS stations — cars, homes, handhelds, weather stations, balloons — pick a symbol from this table. The 20 most commonly seen primary-table symbols, sourced directly from the APRS Symbol Reference (aprs.org) 2:

Symbol pair Character Icon meaning
/! ! (0x21) Police station
/# # (0x23) Digipeater
/$ $ (0x24) Phone
/% % (0x25) DX cluster
/& & (0x26) HF gateway
/' ' (0x27) Small aircraft
/- - (0x2D) House (QTH)
/. . (0x2E) X / unknown
/< < (0x3C) Motorcycle
/= = (0x3D) Railroad train
/> > (0x3E) Car
/? ? (0x3F) Server (file)
/j j (0x6A) Jeep
/O O (0x4F) Balloon
/R R (0x52) Recreational vehicle
/U U (0x55) Bus
/Y Y (0x59) Yacht / sailboat
/[ [ (0x5B) Person / runner
/_ _ (0x5F) Weather station
/k k (0x6B) Truck (lower-case)

The full 94-character primary table is documented in APRS Spec 1.2 chapter 21, illustrated icon-by-icon in APRS-Symbols.pdf, and re-published in machine-readable form at aprs.org/symbols/symbols-new.txt. If you want every single icon, that text file is the one to parse.

The Secondary (Alternate) Table — \

The secondary table re-uses the same 94 ASCII characters but draws different icons. Practically, it covers categories the primary table did not — natural-disaster markers (storms, hurricanes, fires), public infrastructure (banks, hospitals, restaurants, gas stations), and overlay-capable variants of primary symbols.

A few well-known secondary-table symbols:

Symbol pair Character Icon meaning
\! ! (0x21) Emergency / mayday
\$ $ (0x24) Bank or ATM
\& & (0x26) iGate (overlay I, R, T, 2)
\' ' (0x27) Crash site
\. . (0x2E) Ambiguous / partial position
\< < (0x3C) Weather advisory (one WX flag)
\> > (0x3E) Car, top view, points in direction of travel
\@ @ (0x40) Hurricane / tropical storm (current position)
\F F (0x46) Unassigned — freezing rain is an overlay on the rain symbol
\H H (0x48) Haze
\L L (0x4C) Lighthouse
\R R (0x52) Restaurant
\T T (0x54) Thunderstorm
\Y Y (0x59) Radios and devices (overlay-capable)
\_ _ (0x5F) Weather site (overlay-capable)
\h h (0x68) Store or hamfest (Hh = ham store)
\s s (0x73) Power boat / ship

The full secondary table is in the same aprs.org/symbols/symbols-new.txt file as the primary one.

Overlays — The Third Byte Many Forget

Some symbols on the secondary table support a single-character overlay — a digit 09 or an upper-case letter AZ that the receiver renders on top of the icon. It is a third piece of information but not a third byte: it takes over the table-identifier slot rather than being appended. This is how you get a car with a "1" badge, a digipeater with an "N" overlay, or a weather station marked with a province letter.

In the wire format the overlay character replaces the table identifier. So instead of writing \> (secondary, car), you write 1> — the digit 1 tells the client "draw the secondary-table car icon and superimpose a 1 on it". The overlay character set is not open-ended: in an uncompressed position it is 09 or AZ only. Compressed positions encode the same overlays as AZ and aj, where aj stand for the digits 09.

A common convention in the digipeater community:

This is documented in APRS Spec 1.2 chapter 21 and refined further in Bob Bruninga's APRS New-N Paradigm. Not all clients render all overlays — but the major ones, including aprs.world, handle the standard set well.

Choosing a Symbol for Your Station

Pick a symbol that honestly describes what you are. APRS is a public-information network and the network is more useful to everyone when icons are accurate.

Quick recommendations:

If your radio has built-in APRS — Yaesu FT3DR/FTM-300, Kenwood TH-D75/TM-D710 — the symbol picker is usually a menu that hides the byte-level detail. If you are using a software client like the APRS World mobile app, the symbol field is exposed as a two-character text input — type /> for "car" and you are done.

Custom Icons and Vendor Extensions

A handful of clients render extra "custom" icons not in the original APRS spec — typically by interpreting unused secondary-table characters or by reading a special object-name convention. These extensions are not portable: a custom icon that looks pretty in one client may show up as a generic dot in another. The official APRS spec is what every interoperable client agrees on, and we recommend sticking to it for any beacon you intend the rest of the world to interpret correctly.

How aprs.world Renders Symbols

The aprs.world live map renders the full primary and secondary tables plus the standard overlays. If you spot a symbol that is rendering wrongly — wrong icon, missing overlay, incorrect colour — please email hello@aprs.world so we can fix it. Since the symbol set is fixed at the protocol level, every client should agree on what /> means; any disagreement is a bug somewhere.

Footnotes

  1. "APRS Protocol Reference Version 1.2" (draft C, ed. John Langner WB2OSZ), chapter 21: APRS Symbols. https://github.com/wb2osz/aprsspec/blob/main/APRS12c.pdf — the compilation of the original 2000 specification plus every published correction since. In the obsolete APRS101.PDF the same material is chapter 20.

  2. APRS Symbol Reference, machine-readable list. http://www.aprs.org/symbols/symbols-new.txt