DG5CW's Telegraphy Site

Understanding the QTH Locator (Maidenhead System)

Published: Aug 16, 2026

🌍 Pinpointing Locations on the Globe

In amateur radio, exchanging exact latitude and longitude coordinates over noisy voice channels or CW is cumbersome and prone to copying errors. To solve this, the Maidenhead Locator System (commonly called the QTH Locator) compresses geographic coordinates into a compact, alternating string of letters and digits.

Adopted globally by the IARU in 1980, this grid system is the backbone for scoring VHF/UHF contests, calculating antenna beam headings, and logging microwave and satellite contacts.

Primary Use Cases

  • Contesting & Scoring: VHF/UHF and microwave contests calculate points based on the distance between Maidenhead grid squares.
  • Beam Direction: Enables logging and tracking software to compute the exact azimuth and elevation for rotator control.
  • QRP & Portable Activations: Rapidly communicate geographic location during SOTA, POTA, or field operations without exchanging full GPS strings.

Capital vs. Lowercase: The Casing Standard (e.g., JO30nq)

A frequent point of discussion among radio amateurs is whether the subsquare letters should be capitalized or written in lowercase.

Under the official IARU specification, the standard typographic formatting is strictly:

  • Characters 1–2 (Field): UPPERCASE letters (AR)
  • Characters 3–4 (Square): Digits (09)
  • Characters 5–6 (Subsquare): lowercase letters (ax)
  • Characters 7–8 (Extended Subsquare, if used): Digits (09)

Standard 6-character: JO30nq (Field: JO, Square: 30, Subsquare: nq)
Extended 8-character: JO30nq42 (Field: JO, Square: 30, Subsquare: nq, Extended: 42)

Why this rule exists:

  • Visual Clarity: Alternating cases prevents glyph confusion on handwritten logs, printed QSL cards, and low-resolution displays. It clearly separates lowercase l from digit 1 or uppercase I, and letter O from digit 0.
  • Hierarchy at a Glance: The eye instantly distinguishes between the coarse regional grid (JO30) and the fine-grained precision block (nq).

Note on Digital Modes & Software: While automated decoders and databases (FT8, WSJT-X, ADIF logs) process locators case-insensitively, standard human-readable presentation should always follow the AA00aa convention.


Hierarchical Architecture: How It Works

The Maidenhead system divides the globe into nested rectangles using a base-18 and base-10 alternating hierarchy based on longitude (360°) and latitude (180°). The origin point is located at the antimeridian (180° W) and the South Pole (90° S).

Level Name Format Longitude Span Latitude Span Approx. Precision
1 Field 2 Letters (AR) 20° 10° Continent / Regional Scale
2 Square 2 Digits (09) ~70 × 111 km (mid-latitudes)
3 Subsquare 2 Letters (ax) 5’ (0.0833°) 2.5’ (0.0416°) ~5 × 4.6 km
4 Extended 2 Digits (09) 0.5’ (0.00833°) 0.25’ (0.00416°) ~500 × 460 m (Microwave/Laser)

Anatomy of an Example Locator: JO30nq

To see the system in practice, consider the 6-character locator JO30nq:

  1. Field JO:
    • J = 10th longitude field starting at 180° W → 0° to 20° E
    • O = 15th latitude field starting at 90° S → 50° to 60° N
  2. Square 30:
    • 3 = 4th column within the field → 6° to 8° E
    • 0 = 1st row within the field → 50° to 51° N
  3. Subsquare nq:
    • n = 14th column within the square → 7° 05’ to 7° 10’ E
    • q = 17th row within the square → 50° 40.0’ to 50° 42.5’ N

Mathematical Calculation

Converting decimal coordinates (Longitude, Latitude) to a standard 6-character locator uses basic division with two helpful math concepts:

  • floor(x): Rounding down to the nearest whole integer (e.g., floor(9.87) becomes 9, discarding the fractional part).
  • mod (Modulo): The remainder left over after integer division (e.g., 27 mod 20 leaves a remainder of 7).
  1. Shift Coordinates to Positive Space (Origin at South Pole / Antimeridian):

    • Lon' = Lon + 180
    • Lat' = Lat + 90
  2. Compute Field (1st & 2nd characters - Uppercase):

    • Longitude Field = Character at 0-indexed position floor(Lon' / 20) in A..R
    • Latitude Field = Character at 0-indexed position floor(Lat' / 10) in A..R
  3. Compute Square (3rd & 4th characters - Digits):

    • Longitude Square = floor((Lon' mod 20) / 2) (Digit 0..9)
    • Latitude Square = floor((Lat' mod 10) / 1) (Digit 0..9)
  4. Compute Subsquare (5th & 6th characters - Lowercase):

    • Longitude Subsquare = Character at 0-indexed position floor(((Lon' mod 20) mod 2) / (5 / 60)) in a..x
    • Latitude Subsquare = Character at 0-indexed position floor(((Lat' mod 10) mod 1) / (2.5 / 60)) in a..x

Interactive Lookup Tool

For quick lookups, visual map overlays, and instant GPS-to-Maidenhead conversions:

👉 Find and verify your QTH Locator on qsl.design