# Converting WPM to CPM

I'm using an Anroid app for learning CW. In Germany, it's common to define the speed in CPM ("characters per minute", or German BPM for "Buchstaben pro Minute).

However, the Morse trainer I use specifies WPM ("words per minute"). Is there a conversion between the two?

Morse characters have different lengths. A series of Es is much shorter than a series of Os. Therefore, the WPM is perhaps a better choice, because a word contains different characters.

Based on the two standard 5 character words "Paris" and "codex" and their dot-dash-ratio, the WPM/CPM factor has been calculated as 5. So

• 6 WPM = 30 CPM
• 10 WPM = 50 CPM
• 12 WPM = 60 CPM
• 20 WPM = 100 CPM

Wikipedia has this explanation, but does not further specify who first came up with these two words:

There are two common typical words: "PARIS" and "CODEX". PARIS mimics a word rate that is typical of natural language words and reflects the benefits of Morse code's shorter code durations for common characters such as "e" and "t". CODEX offers a word rate that is typical of 5-letter code groups (sequences of random letters).

and later

The [Federal Communications] Commission specifies Morse code test elements at 16 code groups per minute, 20 words per minute, 20 code groups per minute, and 25 words per minute. The word per minute rate would be close to the PARIS standard, and the code groups per minute would be close to the CODEX standard.

• Picking two arbitrary words, neither of which are particularly common in German, feels like an odd choice to find a factor, especially since that factor seems to be surprisingly round. Is there a theoretical foundation to this? I can actually imagine there is; Morse himself certainly thought about duration of words. Oct 19 '18 at 11:20
• I think instead of multiplying by five, you should multiply by six because the space between words is also a character. Dec 12 '18 at 12:52
• @MarcusMüller Those are not arbitrary words, though. Please check en.wikipedia.org/wiki/Morse_code#Speed_in_words_per_minute to see why these two words were chosen Dec 12 '18 at 14:53
• @ScottEarle wow, exactly the kind of information I was looking for! Still can't find a source why CODEX and PARIS are assumed to be "typical words" (as they are, far as I can tell, not really "typical" for a conversation); do you think it'll be worth asking a new question on why they are considered such? Dec 13 '18 at 9:47
• @MarcusMüller: I definitely would be interested in the result. I tried to find a source when answering this question, but I didn't find one. Dec 13 '18 at 12:17

Language as such has nothing to do with the CW speed measurement STANDARDs. In amateur radio we are oblicated to use plain text (encryption is not allowed), so the standard word PARIS is used to check CW speed and CODEX word does not apply. OK, the PARIS word may (or may not) have been originally based on English language, but you do not need to concern yourself about that. If you have a WPM count, multiply it with 5 to get CPM and if you have CPM count, divide it with 5 to get WPM.

In real life many (if not most) plain text langugaes do not produce the correct CW speed, if calculated (or measured) from a length of text. That doesn't have any significance, however. The PARIS (and CODEX) words are the STANDARD, to which all CW speed measurement is based, so do not try to use anything else for CW speed testing, or you will get wrong results.

By the way, what we now call (International) Morse code, was NOT created by Samuel Morse. His wire telegraph code had significant differences to the CW code we use today. The international telegraph code, to which our over-the-air CW is based today, was agreed upon at a conference in Berlin in 1851.

• Hello Jukka, and welcome to ham.stackexchange.com! Feb 8 '21 at 19:19
• Multiply by 6, because the inter-word spacing is one character length. Feb 12 '21 at 21:25

@MarcusMüller

PARIS may have a typical length in Morse code for words in English, but that wouldn't hold in other languages, you're right about that. I assume someone took some text samples of English (perhaps even samples of typical plaintext messages sent by Morse code) and calculated the average length of the words in Morse, and then found the word PARIS to be very close to this length.

But CODEX is language-agnostic, assuming we're still talking about the basic 26-character version of the Latin alphabet + the 10 numbers. This is because that one was mentioned to be the standard for groups of 5 random characters (either 26 from the alphabet or 36 alphanumeric ones). If you're transmitting code groups like that, it's likely a plaintext message that has been encrypted into 5-character groups, those are transmitted, then decrypted again by the receiver of the message (you'll have agreed beforehand what the encryption keys are, and the encryption algorithm). It doesn't matter what the language of the plaintext is, that just necessitates making new algorithms that convert the text to those same 36 characters (a-z and 0-9).

For CODEX, I assume someone calculated the average character length for those 36 characters, then found a 5-letter word where the average character length was about the same as that for the whole character set. As for "why a 5-character word", I assume that one is to match the 5-character word of PARIS, and/or to match the random 5-character groups used when sending encoded messages.

• Hello and welcome to ham.stackexchange.com! Oct 5 '20 at 15:05
• These are great points! Prob more suited for the chat (link in the footer), because as a standalone answer it's a little confusing—I came to this question via link to your answer, and didn't understand much of the context until reading Marcus's answer. Oct 16 '20 at 12:40