JTTY · Native Android

Keyboard QSOs
from your pocket.

JTTYAF brings JTTY — the new keyboard-to-keyboard mode in WSJT-X 3.2 — to your Android phone. Type, press Send, and a coded 4-tone signal carries your text at RTTY speed through noise that would shred Baudot. Every station in the passband prints live. Your rig keys over USB CAT. No laptop, no sound-card tangle.

Get it free on GitHub Coming soon to Google Play
Free & open source · MIT · clean-room codec · Built from FT8AF
9:41

JTTY

14:23 UTC·RX·20m
300 RX 1500 2700
14:22:48  1512  -9  CQ W1AW CQ
14:23:04  1500  -3  CQ K1ABC CQ
14:23:09    TX       K1ABC K1AF
14:23:12  1500  -2  K1AF 599 001
14:23:16    TX       K1ABC 599 017
14:23:20  1500  -4  K1AF TU
14:23:23    TX       TU K1AF CQ▮
DX call
K1ABC
Serial
018
TU K1AF CQ 1 frame · 1.9 s
F1 CQ F2 EXCH F3 TU CQ F6 AGN?
RX·31.25 Bd · 4-GFSK 14.090 MHz
JTTY Waterfall Log Settings
31.25baud
4-tone GFSK
127Hz wide
per signal
1.9 sper frame
no clock sync
USBCAT control
+ PTT keying
MITclean-room
codec
Built for the air

Everything you need to
run JTTY — on a phone.

Live print of the whole passband

Every decoded JTTY message between 300 and 2700 Hz scrolls up as it arrives, with time, audio frequency and S/N. Signal subtraction means overlapping stations print too. Your own overs echo back like a teleprinter.

Keyboard transmit, any time

JTTY has no time slots. Type up to 80 characters, watch the hint count frames, press Send — JTTYAF keys the rig and plays the whole GFSK buffer with continuous phase, sync first, never clipped.

F1–F8 macros & contest profiles

%M your call, %H the DX call, %E 599 + serial. Defaults map to the one-frame JTTY atoms — CQ %M CQ, %H %E, TU %M CQ — and RTTY Roundup or Field Day profiles pack the exchange tight.

USB CAT radio control

Icom, Yaesu, Kenwood, Elecraft, Xiegu, FlexRadio, Guohe, truSDX and Hamlib-driven rigs over USB, Bluetooth or the network — FT8AF's battle-tested cable stack, with per-band TX level, ALC auto-volume and SWR protection.

Logbook & uploads

Tap a received line to pick the DX call, tap Log QSO and the serial bumps. Contacts log as MODE=JTTY with ADIF export and Cloudlog, Wavelog, QRZ and World Radio League upload.

Clean-room codec, verified

CRC-12, a K=10 tail-biting convolutional code, list-Viterbi decoding and signal subtraction — written from the published design notes under MIT, no GPL code, and proven against WSJT-X's official sample recording.

Get JTTYAF

Free and open source.
Play build on the way.

Grab the APK from GitHub today. A one-tap Google Play build — with automatic updates — is in review now.

Google Play
Soon

Coming to Google Play

A Play Store build is in review — one-tap install and automatic background updates, delivered the moment it's live.

  • Automatic background updates
  • One-tap install, no sideloading
  • Play Protect verified build
  • Supports development
Coming soon

Want a heads-up when it lands on Play? See the FAQ →

73 from the bench

JTTY landed in WSJT-X 3.2 on September 23, 2026. JTTYAF followed within weeks — the FT8AF codebase with the FT8 engine pulled out and a clean-room JTTY codec written from the published design notes, Claude in the loop, a radio on the bench, and the official sample recording as the judge. If it decodes K1JT's test file, it decodes the band.

Patrick Burns · K1AF · Reid · N0RC
Stay in the loop

Get build notes &
new-feature drops.

Low volume. Release notes, field reports, and the occasional "we fixed the thing that crashed on your IC-705." Unsubscribe anytime.

Part of the AF family

One design. Five apps.

JTTYAF shares its radio stack, logbook and look with four sibling apps for Android. Run the mode you're in the mood for.