Clever Quest Lab ← Labs

NAVTEX Decoder

Read navigation and weather warnings for ships from 518 kHz receiver audio and see both transmitted copies of every character, with the repaired ones marked.

Sound is off – choose an audio source to start decoding.

Show the decoded text

Microphone, computer and file audio is decoded in your browser and is not uploaded. Captured audio is not played back. When you share computer audio, the picture of your screen is not used, recorded or uploaded.

Click or drag on the spectrum to put the dashed centre line between the two tones. Keys (with the spectrum focused): ← → 5 Hz, with Shift 25 Hz, A auto-tune, R reverse.

* unreadable · dashed: case uncertain after a lost shift · dotted italic: best guess

Readouts

Centre
–
Shift
–
Signal level
–
Sync
–
Polarity
–
Characters
0
From both copies
–
Repaired
–
Unreadable
–
UTC
–
Window now
–
Next window
–

The last three: percentages of the last 100 characters. Windows: transmission slots of the station letters (UTC).

Tuning indicator. The higher tone draws across, the lower one up and down. A sharp cross means you are tuned.

Both copies

  • both copies agree
  • repaired from one copy
  • two different copies (*)
  • both mutilated (*)

Each column is one character: the first copy (DX), the copy sent 280 ms later (RX) and what was printed. × = mutilated copy, α and RQ = phasing signals, ↑ ↓ = figure and letter shift.

Decoder

Without Best guess the page follows the standard: a character with two different or two mutilated copies prints as *.

Messages

    Demo signal

    The demo messages are made up and say so. Noise is the signal-to-noise ratio in a 3 kHz bandwidth.

    Monitor

    Only the demo signal and audio files at real time are played through the speakers. Computer audio and the microphone are analysed silently.

    Runs on your device. Uses your microphone or the sound of another tab or the screen; the audio is processed on your device. Nothing you type or record is uploaded. Keeps working without a connection while the page is open. Works with touch. Saves your decoder, message filter and demo settings and the chosen microphone on this device. Received messages last until you reload.

    Added

    How to use it

    Press Play demo signal to watch a made-up NAVTEX transmission come in. For real messages, tune a receiver to 518 kHz and bring its audio in as described under “Getting the audio in” below. The page finds the two tones, locks on, prints the text and lists every message with its identity, type and how well it was received. Decoding goes on while this tab is in the background; only the drawing pauses.

    What NAVTEX is

    NAVTEX sends navigational and meteorological warnings, forecasts and other urgent information to ships as text, which a receiver on the bridge prints or shows on a screen. The international service is on 518 kHz in English; national services use 490 kHz and 4209.5 kHz, often in the language of the country. A station is designed to reach about 400 nautical miles, so stations far enough apart share one frequency by taking turns.

    Each station has a letter from A to X and may transmit for at most 10 minutes every 4 hours: A from 00:00 UTC, B from 00:10, and so on to X at 03:50, after which the cycle repeats. “Window now” and “Next window” work this out from your computer’s clock.

    A message starts with ZCZC, a space and its identity of four characters, and ends with NNNN. B1 is the station letter, B2 the subject and B3B4 a number from 01 to 99.

    B2Subject
    A, LNavigational warnings (L when the 99 numbers of A are in use)
    BMeteorological warnings
    CIce reports
    DSearch and rescue information, piracy warnings, tsunamis and other natural phenomena
    EMeteorological forecasts
    F, G, HPilot and VTS service; AIS service; LORAN
    J, KStatus of satellite navigation; other electronic navigation aids
    V to YSpecial services
    ZNo message on hand

    A ship’s receiver can switch types off, except A, B, D and L; type D sets off an alarm. Number 00 is kept for messages every receiver must print. A receiver remembers each identity it has printed and skips repeats for 72 hours; the list here marks a second copy as “repeat”, and “Hide repeats” keeps the copy with fewer errors.

    The signal

    NAVTEX uses SITOR-B, the broadcast mode of ITU-R Recommendation M.625 (older name CCIR 476). The transmitter shifts between two frequencies 170 Hz apart at 100 baud, so a bit lasts 10 ms. The higher frequency is called B and the lower Y.

    A character is seven bits with exactly four B. There are 35 such words: 32 characters and three service signals. A single wrong bit leaves three or five B, so the receiver knows the copy is mutilated. Digits and punctuation come from the same codes after a figure shift, as in five-bit teleprinter code.

    SignalBits, first one firstSignalBits
    ABBBYYYBCarriage returnYYYBBBB
    EYBBYBYBLine feedYYBBYBB
    NBYYBBYBPhasing signal 1 (α)BBBBYYY
    ZBBYYYBBPhasing signal 2 (RQ)YBBYYBB

    Every character is sent twice: after the first copy (DX) come four other characters, then the repetition (RX), 280 ms after the first. A crash of static or a short fade usually hits only one of the two.

    DXRX N A V T E X α α N A V T E X Each box is one 70 ms slot. Four other signals pass between the two copies of N.

    A transmission starts with phasing: signal 2 (RQ) in every DX position and signal 1 (α) in every RX position, at least 16 pairs. A carriage return and a line feed come just before the first message, and ZCZC ends the phasing.

    How the page decodes it

    1. Tones. Each tone is mixed down and averaged over exactly one bit, the matched filter for 10 ms bits. The decision threshold follows the strength of each tone, so a fade of one tone does not tip every bit to the other.
    2. Bit clock. SITOR-B has no start or stop bits. The page samples at the end of each bit and checks the value half a bit earlier, which is zero at a bit change when the clock is right. The clock follows audio up to 1 % fast or slow.
    3. Character frame. For each of the seven possible starting bits the page counts how many of the last 28 words have four B; 24 or more, clearly ahead of the rest, gives the frame. Words with four Y mean an upside-down signal (a receiver on LSB), and Reverse switches by itself. Six phasing signals in a row lock faster.
    4. DX and RX. During phasing, RQ marks the DX position. In the middle of a message the page finds the position where each slot matches the slot five later.
    5. Two copies. Both valid and equal: printed. One valid: printed from it and counted as repaired. Both valid but different: the standard treats both as mutilated, so the page prints *, as it does when both are mutilated. A copy also counts as mutilated when the signal faded during any of its bits.
    6. Messages. As the standard asks of a printer, printing starts at the first carriage return or line feed after the lock (or at ZCZC). The identity is used only when all four characters came through; otherwise the message is listed as “header damaged”.

    A lost character may have been a letter or figure shift. If the page cannot tell, the letters and figures after it get a dashed underline until the next shift. Best guess replaces * with the most likely of the 35 signals, judged from the strength of every bit in both copies; guessed characters are shown in dotted italics and counted apart, because a guess can be wrong. Copied and saved text keeps both marks as [square brackets] for an uncertain case and <angle brackets> for a guess, with a key on the first line. On synthetic signals with noise at −6 dB in 3 kHz (tests of 28 October 2026), 3.5 % of the characters were unreadable or wrong without it and 0.1 % with it.

    Where to find it and how to tune

    Getting the audio in

    There are four ways to get the signal in. Nothing is uploaded: all decoding happens in this tab.

    1. No radio needed — a web receiver in another tab. Open a public web-based SDR receiver in a second tab (universities and radio clubs run many of them; websdr.org lists receivers that are online now), tune it as described below and start its audio. Here, press Use computer audio, choose that tab in the sharing dialog and switch on sharing of the tab’s audio. Keep the receiver tab playing; this page can stay in the background.
    2. Your own receiver or SDR program on this computer. Press Use computer audio and share the program’s window or the entire screen together with system audio, or send the program’s output to a virtual audio cable and pick that cable after pressing Use microphone.
    3. A radio with a speaker. Hold it near the microphone and press Use microphone. It works, but room noise hurts weak signals; a cable from the headphone socket to the line or microphone input is better.
    4. A recording. Load a WAV or MP3 file with Open audio file.

    The wide-band web receiver of the University of Twente in the Netherlands, listed on websdr.org, tunes from 0 to 29 MHz, so its range includes both 518 and 490 kHz. Signals reach further at night.

    A real test on 29 October 2026: 56 minutes of 518 kHz from that receiver, recorded between 07:26 and 08:22 Central European Time with its own recording function, gave this page 36 messages with the letters O, P, Q, S and T. In 33 of them the text matched an independent decoder written from the ITU recommendations character for character. In two messages the page marked the header as damaged where the other decoder read it, and in one it read the end of a message that the other decoder lost.

    Receiver setup

    SettingValue
    ModeUSB. On LSB the tones swap places; the page then switches Reverse by itself.
    Dial1 kHz below the station: 517.0 kHz for 518 kHz puts the tones at 915 and 1085 Hz; 489.0 for 490 kHz, 4208.5 for 4209.5 kHz. Anything that puts both tones between 300 and 3000 Hz works.
    Filter500 Hz is enough; the usual 2.4 kHz voice filter works too.
    AGC / noiseMedium AGC; the receiver’s noise reduction and squelch off.

    Controls

    Things to try

    Limits

    Frequently asked questions

    Why do some characters show as *?

    Both copies were mutilated, or both arrived intact but different. The standard then treats both as wrong, so the page prints * rather than pick one. Best guess picks one and marks it.

    What does “header damaged” mean?

    One of the four identity characters after ZCZC did not come through, so the page shows it as ? and cannot match repeats. A shipboard receiver does not print such a message at all.

    Sources