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.
| B2 | Subject |
|---|---|
| A, L | Navigational warnings (L when the 99 numbers of A are in use) |
| B | Meteorological warnings |
| C | Ice reports |
| D | Search and rescue information, piracy warnings, tsunamis and other natural phenomena |
| E | Meteorological forecasts |
| F, G, H | Pilot and VTS service; AIS service; LORAN |
| J, K | Status of satellite navigation; other electronic navigation aids |
| V to Y | Special services |
| Z | No 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.
| Signal | Bits, first one first | Signal | Bits |
|---|---|---|---|
| A | BBBYYYB | Carriage return | YYYBBBB |
| E | YBBYBYB | Line feed | YYBBYBB |
| N | BYYBBYB | Phasing signal 1 (α) | BBBBYYY |
| Z | BBYYYBB | Phasing 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.
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
- 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.
- 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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
| Setting | Value |
|---|---|
| Mode | USB. On LSB the tones swap places; the page then switches Reverse by itself. |
| Dial | 1 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. |
| Filter | 500 Hz is enough; the usual 2.4 kHz voice filter works too. |
| AGC / noise | Medium AGC; the receiver’s noise reduction and squelch off. |
Controls
- Spectrum and waterfall: click, tap or drag to place the dashed centre line between the tones (yellow B, blue Y). Keys with the spectrum focused: ← → 5 Hz, with Shift 25 Hz; A auto-tune; R reverse.
- Auto-tune: finds two tones 170 Hz apart; it also runs every half second after a source starts, until it finds them. AFC follows drift. Reverse swaps B and Y; set by hand, it stays until the next source or Auto-tune.
- Live text and Selected message: two tabs (arrow keys switch). Pause scrolling and Clear act on the live text, Copy and Save as .txt on the tab shown.
- Decoder: Best guess; Squelch stops printing when the signal is gone; Show phasing prints from the lock on, a dot per phasing pair.
- Messages: filter by station letter and type, hide repeats, save the listed messages as one file, clear the list. Choose a message to read it.
- Demo: three message types or a repeat with a 00 message, station letter, noise, tuning error, real time or 4×, fades, reversed. Monitor: volume and Mute of the demo and files.
Things to try
- Play the demo with heavy noise and watch the Both copies strip: orange columns are characters saved by their second copy.
- Switch on fades. Each 250 ms fade hits only one copy of a character, so the text stays complete.
- Compare heavy noise with and without Best guess, then try −9 dB, where the page no longer finds the character frame.
- Choose “A repeat and a 00”, then untick Hide repeats.
- Send the demo reversed and watch Reverse switch on by itself.
Limits
- This is a learning tool, not a replacement for a certified NAVTEX receiver on board.
- It does not read the selective B-mode (three B and four Y after a call sign) or national services in other alphabets.
- A fade longer than 280 ms can take both copies. After a lost letter or figure shift the following characters may be in the wrong case; the page marks them but cannot correct them.
- Web receivers sometimes drop short silences into their sound. Exact silences are cut out before decoding; a smoothed one shifts the bit clock, which costs a few characters.
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
- ITU-R (2012). Recommendation M.625-4. 100 baud and 170 Hz shift, the seven-unit signals, the DX and RX positions 280 ms apart, phasing and the rule for two different copies.
- ITU-R (1990). Recommendation M.540-2. The NAVTEX format with ZCZC B1B2B3B4 and NNNN, number 00, and printing only after an identity received without errors.
- IMO (2022). NAVTEX Manual, 2023 edition (MSC.1/Circ.1403/Rev.2). Frequencies, range, subject letters, the windows of the station letters and the 72-hour memory of identities.