HF digital modes are computer-based communication methods that use your HF radio to send and receive data. They convert text, images, or structured information into audio tones that your radio transmits. These modes have become increasingly popular because they work well in difficult conditions and often require less power than voice communication.
Work with minimal equipment: Your existing HF radio, a computer, and an interface are all you need
Interfaces you can use, include (SignaLink, RigBlaster, etc.) for older HF radios. Some modern radios may also include a built in soundcard, such as the Yaesu FT-710, Icom-7300, Yaesu FT991/991A and more. These are usually plug and play, just needing a simple cable.
Communicate when voice can't get through: Many digital modes work even when signals are too weak to hear
Some examples include JS8call and WSJTX. JS8call can be heard down to a signal to noise ratio of -28DB
Use less power: Make contacts with 10-25 watts that would require much more power using voice
For older equipment, be careful with transmit duty cycles as most digital modes transmit much longer than voice modes at the same power level unlike voice with varying levels
Operate with modest antennas: Limited space doesn't mean limited communication
For compromised setups or setups where space is an issue, digital modes or CW tend to be a main modes of choice for hams.
Send different types of information: Text messages, full on live chats, emails, images, position reports, and structured data.
Confirm contacts automatically: A lot of digital mode software can automatically handle logging and confirmations with digital modes.
Majority of digital modes software are free and runs on Windows, Mac, and Linux:
Fldigi: https://sourceforge.net/projects/fldigi/
WSJT-X: https://wsjt.sourceforge.io/wsjtx.html
JS8Call: https://js8call.com/
MMSSTV: https://hamsoft.ca/pages/mmsstv.php
WSJT-X has transformed amateur radio by making worldwide contacts accessible even with very compromised stations. Using modes like FT8 and FT4, you can:
Make contacts when signals are too weak to hear by ear
Work rare DX stations
Confirm contacts automatically through LoTW or other services
FT8 and FT4 are much quicker modes for QSO's. Contacts are signal reports and grid squares. These modes dig into the noise much more and can be heard quite low. FT8 is very popular and can be heard 24/7 on almost any band.
For keyboard to keyboard chats, you would use modes such as PSK31, JS8call or Vara HF.
Time synchronization is important for FT8, FT4 etc. Having a clock that is very out of sync will cause signals to not decode very well or at all.
WSJTX also offers a mode called WSPR. This mode lets you see how your setup is doing overall, you transmit for a long cycle and then pull up a map to see how far your signal went. This mode is mainly a propagation testing mode. https://www.wsprnet.org/drupal/wsprnet/map
WSPR can be decoded all the way down to -28db even signals almost inaudible to the human ear.
You can also use sites like https://pskreporter.info/pskmap.html to see how far your signal has went for other digital modes.
Fldigi offers an great entry point to digital operation with a rich feature set in a free, open-source package. It's mainly a software that has a bunch of other digital modes all combined into one, majority of the modes it has are real-time keyboard-to-keyboard modes, Fldigi supports dozens of modes including
RTTY (both 45.45 and 75 baud with various shifts)
PSK (31, 63, 125 baud variants and more) (Most commonly used baud is PSK31)
MFSK (various speeds and formats)
Olivia (multiple bandwidth and tone options)
DominoEX, Thor, and Throb
CW decoding and encoding
PSK31 works good for casual conversations, while robust modes like Olivia can punch through difficult conditions when signals are weak. Overall FlDigi gives you a good starting point for digital modes when it comes to keyboard ones.
For those who like the weak signal capabilities of digital modes but miss the conversational aspects of RTTY or PSK31, JS8Call offers a fun but useful hybrid. Developed by Jordan Sherer (KN4CRD), JS8Call adapts the robust FT8 protocol for keyboard-to-keyboard communication.
What makes JS8Call noteworthy is its network capabilities. The protocol supports store-and-forward messaging, automatic relay, and "heartbeat" network awareness—features reminiscent of packet radio but functioning on HF with weak signal resilience. This makes it an excellent addition to your emergency communications toolkit, especially when infrastructure fails and reliable HF paths become critical.
JS8call is commonly used for EMCom. Some features for EMCom include allowing messages that can hop through multiple stations to reach their destination. For example, a message from Florida might pass through Georgia and Virginia to reach a station in Maryland. JS8Call also lists all the stations that it can hear.
Stations can also store messages for stations that are out of reach or are offline, when the station checks in, a forwarding station will relay the message that was stored. JS8call can also be used to send out APRS messages, send out POTA spots or email.
The mode offers four speeds, the different speeds also mean how low each one can be decoded to.
Slow (6 WPM equivalent)
Normal (15 WPM equivalent)
Fast (25 WPM equivalent)
Turbo (50 WPM equivalent)
Most people tend to start on Normal and then work up to Fast if conditions are good. For majority of stations, signals can be decoded on any mode if they can be heard, as the software does multi decoding. A weaker station can be on Normal or Slow if you aren't hearing them as well, but you can be on fast/turbo if they hear you better for faster speeds as an example.
Time synchronization is important just like FT8, FT4 etc. Having a clock that is very out of sync will cause signals to not decode very well or at all. It will also have the same effect on the receiving station if your clock is out of sync.
JS8 does have a feature to jump your clock to the transmitting station's clock if this happens and you need to make the contact. JS8 does this by measuring the time difference on the signal between your clock. You could also use this feature to set your clock properly offline.
This could be handy if the end station doesn't have internet, GPS etc or any way to manually set a synced clock.