Chris Collins

Tools · radio

Digital modes

Decode FT8, PSK31, RTTY, CW and SSTV from a microphone, line-in, an audio file or the SDR receiver — FT8 with UTC slot timing, SNR, DT and frequency; make PSK31, RTTY and SSTV audio; and map WSPR and PSK Reporter spots for a callsign.

Added

Works with

How to use it

Pick an input above the tabs:

  • Microphone / line-in — the receiver’s audio into the computer (or the phone held to the speaker). Echo cancellation, noise suppression and automatic gain are turned off.

  • SDR tab — the SDR receiver in another tab of this browser: tick Send audio to Digital modes there, then press Listen here.

  • Audio file — a recording (WAV, MP3, OGG, FLAC, M4A), decoded faster than real time.

  • Demo signal — a generated signal for the tab you are on, so you can see each decoder work.

FT8 decodes each 15-second UTC slot 0.4 s after it ends: time, SNR (dB in 2500 Hz, an estimate), DT (time offset), audio frequency and the message, with the sender’s country (AD1C’s cty.dat) and, if you give your locator, the distance and beam heading to the grid in the message. Messages to your call are highlighted; CQs are green. FT8 needs your computer’s clock within about a second of UTC — Clock offset corrects it. The decoder is a port of Kārlis Goba’s ft8_lib (MIT licence, licence): over its 31 test recordings it finds 352 of the 354 messages ft8_lib finds (WSJT-X, with more decoding passes, finds more).

PSK31 — click a trace on the waterfall (or type its audio frequency); AFC follows drift. RTTY — click between the mark and space traces; 45.45 baud and 170 Hz shift are the amateur standard (Reverse if the text is garbage). CW uses the Morse code tool’s decoder. Send makes PSK31 and RTTY audio from text, to play or save as WAV.

SSTV listens for the VIS header that starts a picture, then draws Martin M1, Scottie S1 or Robot 36 pictures line by line, following small clock errors on each sync pulse; received pictures can be saved as PNG. Send turns a picture (or a test card) into SSTV audio.

WSPR & PSK Reporter maps where a callsign was heard (or what it heard): WSPR spots come straight from wspr.live; PSK Reporter’s reports need the gitwebsite app’s companion, because pskreporter.info sends no CORS headers (it also asks for no more than one query every five minutes).

Full screen (⛶ Full screen or F; Esc leaves) enlarges the tab’s waterfall, picture or map.

Limits

  • FT8 only (not FT4, JT65 or WSPR decoding); one decoding pass, no a-priori decoding or signal subtraction, so weak and overlapping signals that WSJT-X recovers can be missed. Do not use it to transmit — use WSJT-X.

  • SNR is estimated from the waterfall, typically within a few dB of WSJT-X’s figure.

  • PSK31 is BPSK only (not QPSK or PSK63); RTTY needs the right speed and shift.

  • SSTV: Martin M1, Scottie S1 and Robot 36 only (not PD120/PD180 used by the ISS); it needs the VIS header unless you pick the mode.

  • Live decoding needs the page in the foreground on phones (browsers throttle background tabs).

Related: SDR receiver, propagation & logbook (log the contacts, see the greyline and band conditions), ham radio (FT8 dial frequencies in the band plans), Morse code, audio scope.

Sources

  • FT8: Franke, Somerville and Taylor, "The FT4 and FT8 Communication Protocols", QEX, July/August 2020; ft8_lib by Kārlis Goba (MIT). Test recordings: ft8_lib’s test/wav (the demo uses 191111_110130.wav).

  • PSK31: Peter Martinez G3PLX, "PSK31: A new radio-teletype mode", RadCom, December 1998 (varicode).

  • RTTY: ITU-T Recommendation S.1 (International Telegraph Alphabet No. 2).

  • SSTV timings: JL Barber N7CXI, "Proposal for SSTV Mode Specifications", Dayton SSTV forum, 2000.

Linking to an example

Share link copies the input, tab and settings (never your log). Parameters:

Parameter Meaning

src

mic, sdr, file or demo

psk

PSK31 audio frequency (Hz)

mark, shift, baud, rev

RTTY mark tone, shift (Hz), speed and reverse

cw

CW tone (Hz; 0 = automatic)

sstv

SSTV mode: auto, m1, s1 or r36

call, role, hours, spots

spot map: callsign, tx or rx, period, wspr or pskr

me

your locator (for distances)

The tab is in the address: ?src=demo#ft8 (the FT8 demo), ?src=demo#sstv, ?call=K1JT&spots=wspr#spots.

Runs entirely in your browser — network requests go only to the services named on this page.