MorseKeyer App

MorseKeyer app is a professional-grade telegraph key for radio operators skilled in Morse code, and for those who would like to learn it. The app operates like a real electronic keyer with a dual-lever paddle and is equipped with a text display to show transmitted characters.

Use this advanced CW key to:

  • Master the skills of radiotelegraphy
  • Practice anywhere — the key is always with you
  • Enjoy CW on the air
Download MorseKeyer on the App Store

Use this advanced CW key to:

  • Master the skills of radiotelegraphy
  • Practice anywhere — the key is always with you
  • Enjoy CW on the air
Download MorseKeyer on the App Store

Android version of the app

If you would like to have the MorseKeyer app for Android, send me an email with the subject “Android” to and I’ll let you know as soon as I release it.

How it works

The keyer has two paddles: to generate short and long sound pulses, i.e., dots and dashes. By manipulating these paddles you can produce Morse code signals in realtime.

Keying modes

  • Ultimatic — “last paddle wins”
  • Iambic (modes A and B)
  • Single lever
  • Semi-automatic, aka “bug”

You have not to press a paddle multiple times to produce several dots or dashes. The keyer generates a series of sound signals while you are holding a paddle pressed. Also, you don’t need to wait until the current sound plays to the end, because the app buffers paddle presses. In other words, it has dot and dash memories. All of that eases the manipulation significantly.

Self-monitoring facilities

Listening to Morse code signals during keying is the basic means of self-control of CW operator. A special attention in the app is paid to the sound quality, its timbre, the optimal level of clicks and other characteristics, that make the sound of Morse code authentic and comfortable to listen to.
Additionally, a light indication echo can be turned on.
The extra facility is to see the characters you’ve just transmitted on the screen. It is very convenient and useful to have the transmitted text in front of you both during trainings and during real communication sessions on the air. You can keep track of what you transmit, immediately notice your mistakes, correct them and improve your skills.

Extended Morse code

When displaying the transmitted text, the app “knows” in addition to International Morse code a number of extensions for different languages. You can try or even learn German, Russian, Japanese Morse alphabets and others. MorseKeyer is designed to quickly switch alphabets on the go when needed. The app is also provided with the ability to use dynamic switching between alphabets.

Supported Morse alphabets

The following Morse alphabets are implemented in the app:

  • International (ITU + extra signs)
  • Latin-based:
    Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Finnish, French, German, Hungarian, Icelandic, Italian, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish, Turkish
  • Cyrillic-based:
    Belarusian, Bulgarian, Moldovan, Russian, Ukrainian
  • Latin & Cyrillic-based (both versions available):
    Bosnian, Macedonian, Montenegrin, Serbian
  • Japanese (Wabun code)
  • Greek

Advanced settings

MorseKeyer is ready to use out of the box. However, it has a lot of settings allowing you to fine tune it, customize for yourself and make more convenient in different use cases:

  • Unit of speed: characters per minute (cpm), words per minute (wpm)
  • Settings for your preferred speed range
  • Speed measurement standard: PARIS, CODEX, VVVVV
  • Dot/dash ratio — in the range of 1:2.5 - 1:4.5
  • Pause between words: standard (7 dots), contest mode (6 or 5 dots)
  • Sound pitch
  • Keying mode: ultimatic, iambic (A and B), single lever, semi-automatic
  • Reverse mode for paddles — to swap dots and dashes
  • Prosign notation convention: <AR>, [AR] or AR
  • Prosign displaying preferences, e.g., VE instead of SN
  • Symbol replacements for prosigns, e.g., use “=” instead of BT
  • Notation for unknown codes (mistakes)
  • Options to detect callsigns and CW abbreviations
  • Numerous settings related to smart text formatting
  • Timestamp output options for keeping a log
  • The slashed zero styles for callsigns and general text
  • A set of favourite Morse alphabets to switch between them quickly
  • Optional monospaced font mode (typewriter style)
  • Various appearance settings

Smart display

Training texts you transmit as well as texts of the QSOs (contacts by radio) you make are displayed in the most readable form. For this purpose the following functionality can be enabled and granularly customized in the app’s settings:

Sophisticated text formatting

When you send Morse code, the app detects amateur radio callsigns and CW abbreviations, Q-codes, Z-codes and other types of special words used in maritime, aviation and military communications. The transmitted text can be displayed not only in the traditional all-capital format, but also using a kind of “smart” formatting. In this mode each word can be formatted appropriately, e.g., in all lowercase or with the first character capitalized, in all uppercase, etc.

Dynamic switching between alphabets

Even if you choose to use a non-Latin version of Morse code in your communication session, special words and Morse code abbreviations still can be displayed in Latin script:

  • A Cyrillic (or another non-Latin based) alphabet can be selected as the primary one to display most of the transmitted text, but all Morse code abbreviations and special words (CQ, de, ur, RST, name, tnx, etc.) as well as callsigns can still be represented in Latin script.
  • In Wabun code the prosigns DO and SN as well as codes for Japanese parenthesis indicate switching between International and Japanese alphabets. MorseKeyer follows this convention and selects the required alphabet automatically.

Reasonable representation of errors

During Morse code transmission anyone can make mistakes. MorseKeyer does its best to recognize them. In many cases it represents a mistake in such a way, that it is clear what was most likely meant.

Let’s say the general call code “CQ” mistakenly was transmitted without a gap between letters C and Q. Depending on the settings either a nonexistent Morse sign [-.-.--.-] should be shown or strikethrough letters of which this code made from. But the same sequence of dots and dashes can be composed from different letters glued together, e.g., KWA, NKK, CGT, etc. Nevertheless, MorseKeyer selects the most likely option and displays CQ.

Another example is about missed pauses between words. Assume the codewords “pse” and “k” were transmitted without a pause between them, i.e., as a single meaningless word. If the app is configured to recognize abbreviations and codes, it will separate the found codewords with a vertical bar: pse|k.

Adaptivity and accessibility

The app supports displays of any size. MorseKeyer is comfortable to use in both vertical and horizontal orientations. It adapts well automatically and uses the screen space optimally in all cases.

Text size

The text display font size can be changed directly with the pinch gesture. Text size in other parts of the app matches your device’s global settings, since the app supports the Dynamic Type feature.

Light indicator position

The light indicator, if turned on, can be resized and moved manually to the other side of the screen.

Get the MorseKeyer app now

Available for iPhone, iPad and iPod touch.

Download MorseKeyer on the App Store