JTTY
JTTY brings error-corrected keyboard conversations and contest exchanges to WSJT-X without fixed transmit slots.
WSJT-X Adds JTTY for Weak-Signal Keyboard Contacts
Posted on Oct. 21, 2026
Back to Radio in the NewsWSJT-X has added JTTY, a new digital mode that lets amateur radio operators exchange typed messages without the fixed transmit-and-receive periods used by FT8. Available in public test releases, it combines conversational and contest operation with error-correcting techniques intended to recover text more reliably than conventional radioteletype.
The development team introduced JTTY in its Sept. 24 announcement of WSJT-X 3.2.0-rc1. Work has continued in the 3.3.0 beta series. The newest release listed by the project as of Oct. 21 is 3.3.0-beta2, released Oct. 13. JTTY remains under development.
Operators are already using it on the air. In an Oct. 7 development update, Joe Taylor, K1JT, reported daily contacts, particularly around 14.090 MHz, along with operation through the QO-100 satellite and a first reported JTTY contact by 23-centimeter moonbounce.
What JTTY does for WSJT-X
JTTY is a keyboard-to-keyboard digital mode for typed conversations and short contest exchanges. RTTY, short for radioteletype, is the established operating style it aims to improve. The WSJT-X User Guide describes a similar operating feel with better weak-signal performance and fewer errors.
Its transmissions can begin at any time. An operator can send a prepared message or use a live typing session. Pressing Send starts the transmission. Taylor’s quick instructions explain that JTTY has no automatic contact sequencing: The operator controls when to transmit, and the program otherwise receives.
Using JTTY’s Main Controls
Select JTTY from the Mode menu. The receive displays show decoded traffic, while the controls below provide prepared messages and a field for personal text. Operators choose each transmission; JTTY does not automatically advance through a contact in the same way we expect from FT8 Mode.
The Message style selector changes the F1–F8 templates between Contest and FT8-style exchanges. The FT8 setting here selects message formats within JTTY. Each function key or matching on-screen button sends its assigned message, and the templates can be edited.
Percent codes insert station details: %M is your callsign, %H is the other station’s callsign, %G is your four-character grid locator, and %R is the signal report. In R%R, the first R acknowledges receipt and the remaining code inserts the report. For example, a report of −10 produces R-10. I personally think using R and %R next to each other is confusing. In this case R means “rodger” or “received” while %R represents your signal strength in dB. I think %S would be less confusing, since it’s the value I’m sending.
For a personal message, enter text in the field beside Send message and select that button. The other operator’s reply appears in the receive display. Halt Tx stops a transmission; Log QSO opens the contact log. Prepared messages and personal text can be used within the same conversation.
View a JTTY Contact and Its Shortcut Keys
A JTTY Contact, Message by Message
Follow the keys through a contact: call, exchange reports, then type a conversation. Each operator chooses the next message; there are no fixed transmit slots.
What the F1–F8 Messages Actually Send
The percent codes are placeholders. WSJT-X replaces them with station details when it sends the message.
- %H
- The other station’s callsign: K1JT.
- %M
- Your callsign: W6HS.
- %G
- Your four-character grid locator.
- %R
- The signal report to send.
Example only: W6HS calling K1JT, with grid CM97 and report −10. These grid and report values are illustrative.
%H %M %G%H %M %R%H %M R%R%H %M RRR%H %M 73CQ %M %G——Why R%R? The first R is literal text meaning “received.” The %R that follows is replaced by the report. RRR and 73 are also literal text, not variables.
These assignments match the FT8 message style in the supplied screenshot. The buttons are editable; Contest style uses different messages. Select the button that matches the exchange you want to send.
Prepared Exchanges
The F1–F8 buttons send the messages assigned to them. Their contents depend on the selected message style and your edits.
Your Own Words
Enter text in the message field and choose Send message. Read the reply in the decode display.
Illustrative exchange, not an actual contact. Callsigns are real; this exchange, grids and reports are illustrative. Panel spacing shows order, not duration. Key assignments match the supplied FT8-style setup; this is one possible sequence, not automatic sequencing.
How the Mode Was Created
JTTY comes from the volunteer WSJT Development Team, led by Taylor, who created the original WSJT software in 2001. The project credits Steve Franke, K9AN, with work on JTTY’s mode and error-correction coding, alongside his contributions to FT8, FT4 and other WSJT modes. Taylor’s recent code contributions include JTTY message controls, signal reports and default operating frequencies.
The design combines short blocks of text with forward error correction. That coding adds redundancy so a receiver can recover information damaged by noise. JTTY uses four audio tones, with smooth frequency changes between them, in a signal about 125 hertz wide.
Each frame can carry five arbitrary characters. Special encodings carry familiar contest messages more efficiently. The guide gives approximate text rates of 30 words per minute for arbitrary text and 60 words per minute for short, formatted contest exchanges.
The source code is public under the GNU General Public License, version 3. The development process includes team testing followed by public releases, with operators submitting reports and suggestions. This month’s beta updates have added message-style selection, per-message signal-to-noise readings and other operating refinements.
Explore How a JTTY Frame Is Built
Inside a JTTY Frame
The Frame on the Air
One frame: 59 symbols in 1.888 seconds. A message can span several frames.
How the Data Is Assembled
The payload contains the message and control bits. The CRC is calculated from it and appended to check for errors.
Read the payload first, then the CRC.
Two Coded Bits Form One Pair
A and B run in parallel. Neither output is a dedicated payload or CRC bit. Repeating this for all 46 input bits produces 92 coded bits, or 46 pairs.
Each Pair Selects a Tone
Tone 001
Tone 111
Tone 210
Tone 3
46 pairs become the frame’s 46 data symbols. Tone trace is illustrative; actual transitions are smoothed.
Public Testing Continues
The team identifies beta releases as intended for experienced users interested in features still being developed. Installers are available for Windows, macOS and Linux through the official release repository.
The September announcement suggested 14.090 MHz as an initial 20-meter meeting frequency and described its frequency recommendations as preliminary. JTTY’s operating conventions and software continue to develop as more stations test the mode.
Sources and Further Reading
- WSJT Development Team: JTTY Release-Candidate Announcement
- WSJT-X User Guide: JTTY Operation and Protocol
- Joe Taylor: Oct. 7 Beta Update and Quick JTTY Instructions
- WSJT-X: Project History and Development Team
- Official WSJT-X Releases and Change History
