DeepCW is a web application for decoding Morse code, which uses a deep learning model instead of traditional algorithms based on detecting the length of dots and dashes. It runs at the address deepcw.cc, without the need for installation, directly in the browser.
According to the author's description, it is a decoder aimed at robust decoding even with weak signals, leakage (QSB) and noise, with support for simultaneous decoding of several CW signals at once (multi-channel decoding).
You will read in the article
Technical architecture and execution in the browser
The application is written in TypeScript (compiled via Vite, with step tsc -b before the build itself) and uses the onnxruntime-web library for running the neuron model directly in the browser, i.e. the inference runtime for ONNX format models. The interface is built on React with the Mantine component library. The project also includes the vite-plugin-pwa package, which allows DeepCW to be installed as a Progressive Web Application (PWA) directly from the browser and used even without a permanent Internet connection.
According to the documentation, the application is available for Windows, macOS, Android and iOS – that is, on all common platforms with a modern browser, without the need for native installation or compilation.
Beware of older hardware - deepcw does start, but does not print any characters from the captured signals. It happened to me on a PC that I use for radio amateur purposes (AMD A8-3870 with 8GB RAM Nvidia GTX560). Only when running on a work computer did the decoding become visible.
Noise immunity and benchmark results
The author published a decoding benchmark in HIGH mode, tested in an Additive White Gaussian Noise (AWGN) environment. The signal-to-noise ratio (SNR) in the test is referenced to a noise bandwidth of 2500 Hz and calculated as the time-averaged signal power at approximately 50% keying duty cycle. Error rate is evaluated as Character Error Rate (CER) – the proportion of inserted, deleted or replaced characters compared to the reference text.
Results according to the author's measurement
| SNR (dB) | Character Error Rate |
|---|---|
| 0 to -4 | 0% at all speeds tested |
| -6 | almost zero error rate |
| -8 | below 1.5% |
| -10 | under 8% |
Such values mean reliable decoding well below the noise level, where the signal is already at or below the limit of readability to the human ear - a typical situation when receiving weak DX stations.
Noise cancellation and RTTY support
In addition to text output, DeepCW also includes audio pass-through with real-time neural noise cancellation. The input audio signal passes through a separate noise reduction model, and the resulting, cleaner sound can be heard directly - which is especially useful when monitoring a pileup or weak signals from the ear, independent of the text decoding itself. This feature is related to the author's other project HamNoise.
DeepCW má integrovanú aj knižnicu DeepRTTY – samostatný neurónový dekodér pre rádioďalekopis (RTTY), whose web demo can be turned on directly in the DeepCW settings. DeepRTTY is distributed as a model in the ONNX format (model.onnx with configuration model.onnx.json) and expects an input signal centered at 800 Hz, with a rate of 45.45 Bd and a shift of 170 Hz. In the author's benchmark, at 10% ITA2 character error, DeepRTTY achieved a sensitivity of about -11.13 dB SNR, while Fldigi potreboval -7,41 dB, minimodem -6,47 dB a MMTTY -6,49 dB – teda rozdiel približne 3,7 dB v prospech DeepRTTY oproti fldigi za daných testovacích podmienok.
Comparison with traditional software

The author compared DeepCW with CW Skimmer, fldigi and ggmorse on three short public YouTube demonstrations of real CW connections (current software versions as of June 3, 2026):
- Video 1 (youtube.com/shorts/UBlxpe5gvv0) – connection of stations AI5DD and AE0Q
- Video 2 (youtube.com/shorts/9AhkEDs2Sko) – connection of stations JO2QOT and K6XX
- Video 3 (youtube.com/shorts/9jgZ94TzRys) – connection of stations WD4DAN and W0ABE
For video 2, the DeepCW output was the closest to the reference transcript of all the tools tested. For videos 1 and 3, DeepCW noticed several errors, such as merged or swapped characters. The author himself emphasizes that this is a comparison on a limited sample with a specific setting of individual programs, not a general evaluation of the quality of decoders.
Open-source core: DeepCW Engine and ecosystem
The decoding model itself and the reference implementation are separated from the web application into the repository deepcw-engine. This includes a model, metadata and sample scripts in Python and Node.js for decoding Morse code directly from WAV audio files, so it can be used independently of the web interface, for example in your own recording processing or in another software chain. Similarly, DeepRTTY (license AGPL-3.0-only) is also available separately, whose benchmark in the repository compares performance against fixed versions of fldigi, minimodem and MMTTY compiled from source code.
This split ecosystem - a web application on one side and bare models with examples in Python/Node.js on the other - suggests the direction in which the deployment of similar AI tools in radio amateur practice can go: standalone neural decoding kernels that the community can integrate into their own SDR softvéru alebo kontestových logovacích nástrojov.
