CW Academy Morse Code Trainer

Master Morse Code in 13 Structured Sessions

Free  •  Browser-Based  •  No Signup  •  No Data Collection

SOS
Flashcard
⌨ Keyboard Shortcuts
SpacePlay / Pause SStop PPrevious session NNext session MNext message LCycle repeat mode FToggle random BToggle bell CToggle flashcard after TToggle speech after 1–6Set play count (6=∞) ?Toggle this panel
CW Academy Morse Trainer
ITU-R M.1677-1 · Web Audio API · 13 Sessions
Ready
00:00
📚 Practice Content
PN
Session
1 / 13
Practice Mode
Content Types
Characters Words CW Abbrev Numbers Callsigns Phrases
💬 Current Message
1/1
Press Play to start…
Playback Controls
Count:
plays
Signal Waveform
Signal off
Press Play to transmit
📋 History
TimeMessageWPM
No history yet
Speed & Timing
Char: 20
Farn: 10
Word: 10
Char WPM 20 WPM
Farnsworth 10 WPM
Wordsworth 10 WPM
Gap Timings
Recog (ms)
FC Time (ms)
Extra Gap
🔊 Audio Controls
Volume 75%
Pitch 600 Hz
BT Delay 200 ms
Output Options
🔉 Sound 💡 Light 📳 Vibrate ∿ Variable Pitch
🔢 Playback Sequence
Active Steps
🔔 Bell Settings
Boop Ting Piano Gap: ms
🃏 Flashcard & Speech
Flashcard Options
Size: S M L Case: UPPER lower As-is Hi-Contrast
🗣 Text-to-Speech
Rate 1.0×
Pitch 1.0
Speak Punctuation
🏎 Speed Racer
Off

Start at higher speed and gradually reduce — or start slow and build up.

Vary Char Vary Farnsworth
Repeats (2–5)
Max Δ%
#Δ%Char WPMFarn WPM
Settings
👤 Personalisation
Call Sign
Name
Location
Power
Settings Management

Welcome to InMorseCode

Welcome to the InMorseCode CW Academy Morse Trainer — a professional-grade, completely free Morse code learning application that runs entirely in your web browser. Whether you are picking up a straight key for the very first time or you are a licensed amateur radio operator fighting through the dreaded speed plateau, this tool was built for you.

Unlike mobile apps that lock features behind subscriptions, or simple online tone players that teach nothing about rhythm, InMorseCode combines the proven Koch and Farnsworth training methodologies with modern Web Audio technology. Every sound is synthesised in real time — no pre-recorded clips, no internet dependency once the page loads, and absolutely no data ever leaves your browser.

What is CW?

CW stands for Continuous Wave — the technical name for Morse code as used in amateur (ham) radio. A licensed ham operator transmitting Morse is said to be ‘working CW.’ The CW Academy is a globally respected programme run by the CW Operators Club (CWops) that teaches Morse code using a structured, scientifically-grounded curriculum. InMorseCode follows this same curriculum.

Getting Started in 3 Steps

You can go from zero to hearing your first Morse transmission in under 60 seconds. Here is all you need to do:

Step 1 — Select Your Lesson

In the left column, find the card labelled Practice Content. Click the dropdown (it shows ‘Lesson 1 — K M’ by default) or use the blue arrow buttons to pick your lesson. If you are a complete beginner, stay on Lesson 1. You can also use the N key on your keyboard to jump to the next lesson at any time.

Step 2 — Set Your Speed

In the right column, look for the Speed & Timing card. As a beginner, set Character WPM to 20 and Farnsworth WPM to 5. Do not worry if those terms are unfamiliar — Section 6 of this guide explains them in full detail. The sliders are clearly labelled and the current value updates as you drag.

Step 3 — Press Play

Click the large amber Play button in the Playback Controls card. Your browser may ask permission to play audio — click Allow. You will immediately hear the Morse code, see the waveform scrolling, and the signal lamp will glow amber in sync with each dot and dash. Press Space on your keyboard to pause at any time.

The Main Interface — A Visual Walkthrough

The trainer is divided into two main columns. Understanding the layout will help you find any feature instantly.

Left Column — Your Control Centre

  • Practice Content card — Choose your lesson, practice mode (Copying or Sending), and content filters.
  • Current Message card — Shows the text being transmitted, the message number, and a New button to roll a random message from the pool.
  • Playback Controls card — The Play / Pause / Stop transport buttons, repeat mode, play count, waveform display, and signal lamp all live here.
  • History card — A running log of every message you have transmitted this session, with WPM data and a replay button.

Right Column — Settings & Advanced Tools

  • Speed & Timing card — Three WPM sliders, plus gap timing inputs.
  • Audio Controls card — Volume, pitch, mute, and output mode toggles.
  • Playback Sequence card — Toggle individual steps in the training pipeline.
  • Flashcard & Speech card — Configure flashcard size, case, and text-to-speech voice.
  • Speed Racer card — The adaptive speed training module.
  • Settings card — Save, load, and share your configuration.

The Top Bar

Across the very top of the tool you will find the InMorseCode brand, a status indicator dot (grey = idle, green pulsing = transmitting, amber = paused), and a live stopwatch that counts your total practice time. There is also a Shortcuts button that opens a keyboard shortcut reference panel.

Practice Content & Session Selector

Choosing a Session

The Session row in the Practice Content card shows your current lesson as a badge (e.g., ‘1 / 13’). Use the small arrow buttons on either side to step back and forward, or click the dropdown to jump directly to any lesson. The keyboard shortcuts P (previous) and N (next) do the same thing without clicking.

Practice Mode

A small toggle lets you switch between Copying mode and Sending mode. In Copying mode, the trainer plays Morse audio and you try to write down what you hear. In Sending mode, the text is displayed and you practice transmitting it yourself on your key while the audio plays as reference.

Tip

Enable multiple filters at once to mix practice types. For example, combining Characters + Words gives you both letter drills and word recognition in a single session. The message pool de-duplicates automatically so you will never see the same item twice in the queue.

Content Type Filters

These pill-shaped toggle chips control what types of content are pulled into the message pool for the current lesson:

Filter

What it includes in the practice pool

Characters

Individual letters from the current lesson’s alphabet. In Lesson 1, this means just K and M practised one at a time.

Words

Short vocabulary words built from the lesson’s characters, such as KM, MK, MARS, and similar.

CW Abbrev

Common ham radio shorthand: CQ, DE, QSO, QTH, QRZ, RST, 73, 88, OM, YL, TU, PSE, and more.

Numbers

Digits 0-9 plus common numeric strings used in radio: 73, 88, 100, and 599.

Callsigns

Real-format callsigns from various countries: W1AW, K6RB, VK2ZZZ, JA1ZZZ, G3ZZZ, DL9ZZZ.

Phrases

Complete practice sentences such as GOOD MORNING, 73 DE W1AW, and QSO COMPLETE.

Playback Controls — How to Play, Pause & Stop

The Transport Buttons

Button / Key

What it does

Play  (Space)

Starts transmission of the current message. The status dot turns green and pulses, the waveform begins scrolling, and the signal lamp glows with each element.

Pause  (Space)

Freezes playback mid-transmission. The audio stops, the lamp goes dark, and the dot turns amber. Press Space or Pause again to resume exactly where you left off.

Stop  (S)

Halts playback completely and resets to the beginning of the message. The waveform clears and the status returns to idle.

⏮ / ⏭  Arrows

Step backward or forward through the message pool without playing. Useful for skipping to a specific word or callsign.

⟳ New

Picks a random message from the pool and loads it without playing. Use this to quickly browse available content.

Play Count

Below the transport buttons is a row of numbered bubbles: 1  2  3  4  5  ∞. Click any number to set how many times the current message plays before automatically advancing. Selecting ∞ (mapped to key 6) makes the trainer repeat the message forever until you manually stop it — ideal for intense character drills.

Repeat Mode

The 🔁 Repeat button cycles through three states:

  • None — play through the pool once and stop.
  • All — loop through the entire message pool continuously.
  • One — repeat only the current message forever (without counting individual plays).

Random Mode

Click the 🔀 Random button (or press F) to make the trainer select messages randomly from the pool instead of in order. This is strongly recommended once you are comfortable with a lesson, as predictable order creates a false sense of competence.

Speed & Timing — The Farnsworth Method Explained

This is the most important section for making real progress. The three speed sliders are not just different ways of saying ‘fast’ or ‘slow’ — each one controls a different part of the Morse timing and they work together in a specific way.

Character WPM (Char WPM)

This slider controls the actual speed of the dots and dashes within a single letter. At 20 WPM, one dot lasts 60 milliseconds. At 10 WPM, it lasts 120 milliseconds. Character WPM determines the ‘feel’ of each character — its unique rhythm and sound pattern.

Recommendation

Set Character WPM to 20-25 from your very first day and keep it there. Never train at low character speeds. A letter learnt at 8 WPM sounds completely different at 20 WPM — you will have to unlearn it. High character speed trains your brain to hear the letter as a sound, not count individual dits and dahs.

 Farnsworth WPM

This slider controls the spacing between individual letters. Set it lower than Char WPM to insert extra silence between characters. This is the Farnsworth technique — the most scientifically validated method for learning Morse code.

For example, with Char WPM at 20 and Farnsworth WPM at 5, each letter is transmitted at a fast 20 WPM but the gaps between letters are stretched to the equivalent of 5 WPM spacing. You hear crisp, fast characters but have generous time to think about what you just heard before the next one arrives.

The Golden Rule of Farnsworth Training

Start with Char WPM = 20, Farnsworth WPM = 5. Each week, increase Farnsworth WPM by 1-2 points. When Farnsworth WPM matches Char WPM (both at 20), you are reading at 20 WPM head copy. This is the only scientifically-proven path to reaching 25+ WPM. Never reduce Character WPM to make things easier — only ever reduce Farnsworth WPM.

 Wordsworth WPM

This controls the gap between complete words. It works the same way as Farnsworth but applies between words rather than between letters. As a beginner, set this to the same value as Farnsworth WPM. As you advance, you can experiment with different inter-word spacing independently.

Gap Timing Inputs

Below the sliders are three fine-control input fields:

Setting

Purpose

Recog (ms)

Recognition Gap. The silence that plays after the Morse transmission, giving you time to write down or speak the answer. Default is 2000 ms (2 seconds). Set to 5000 ms or higher for handwriting or keyboard copying practice.

FC Time (ms)

Flashcard Display Time. How long the answer flashcard stays on screen before automatically hiding. Default is 2000 ms.

Extra Gap (ms)

An additional pause added between the answer and the start of the next message. Useful for longer drills where you need breathing room.

 

Bluetooth Delay

If you are using wireless headphones and the first dit of each character gets cut off, go to the Audio Controls card and increase the BT Delay slider. Start at 200 ms and increase until the cutoff disappears. This adds a silent pause before each transmission starts, giving your headphones time to fully wake up.

Audio Controls

The Audio Controls card in the right column gives you complete control over how the trainer sounds and behaves.

Volume

Drag the Volume slider from 0% (silent) to 100% (full). This controls the amplitude of the Web Audio sine wave oscillator. The Mute button in the card header provides instant silence without losing your volume setting.

Pitch (Hz)

The Pitch slider sets the frequency of the CW tone, ranging from 300 Hz to 1000 Hz. The default is 600 Hz, which is a comfortable mid-range pitch suited for most training purposes. Experienced operators often prefer 700-750 Hz. Experiment to find what feels most natural to your ear.

Output Option Toggles

  • Sound — Enables or disables audio output. Turn this off for silent visual-only practice.
  • Light — Enables or disables the signal lamp (the glowing dot in the Playback card). Turn it off to practise audio-only recognition without visual cues.
  • Vibrate — On supported mobile devices, the phone will vibrate in sync with each dit and dah. A tactile way to feel the rhythm.
  • Variable Pitch — Each tone is randomly shifted up or down by up to 100 Hz. This simulates real on-air conditions where signals drift in frequency (QRM). Advanced users only.

The Sequence Pipeline — Custom Drill Loops

The Playback Sequence card is one of the most powerful features in the trainer. It lets you design exactly what happens during each message cycle — before, during, and after the Morse transmission.

How the Pipeline Works

Think of it as a recipe. Each step is an ingredient you can add or remove. Every time a message plays, the trainer executes the active steps in order from top to bottom. You toggle each step on or off by clicking it.

#

Step

What happens

1

Show Before

The message text appears as a large flashcard overlay. You see the word before you hear it — useful when learning to associate letters with sounds.

1

Say Before

Your browser’s text-to-speech voice reads the message aloud before the Morse plays. Helps build the sound-to-letter connection.

2

Morse (always on)

The Morse code transmission. This step cannot be turned off.

3

Recognition

A silent gap (set in the Recog field) giving you time to copy what you heard.

4

Show After

The flashcard answer appears after the gap. The moment of reveal — compare with what you wrote.

4

Say After

The TTS voice reads the answer after the gap.

5

Morse Repeat

Plays the Morse transmission a second time after the answer is revealed — great for confirming your copy.

6

Bell

A short bell tone signals the end of the cycle. Satisfying psychological closure. Choose between Boop, Ting, or Piano in the Bell Settings.

Preset Configurations

The Preset dropdown lets you activate a pre-designed pipeline in one click:

  • Basic — Morse only + Recognition gap. Perfect for pure copying practice.
  • Speech After — Morse + Recognition + Say After + Bell. Great for self-checking without looking at the screen.
  • Speech Before — Say Before + Morse + Recognition. Builds sound association for new characters.
  • Ninja Mode — Morse + Recognition + Show After + Say After + Morse Repeat + Bell. The full drill loop used for callsign training. Demanding but highly effective.

Flashcard & Text-to-Speech System

The Flashcard Overlay

When Show Before or Show After steps are active in the pipeline, the answer appears as a large, full-screen flashcard overlay. The background dims and the text is displayed in the centre of the screen in high-contrast amber text.

  • Size — Choose Small (2.8rem), Medium (5rem), or Large (8rem) font size. Use Large when practising from across the room.
  • Case — Force the display to UPPERCASE, lowercase, or leave it As-is.
  • Hi-Contrast — Switches to pure white text on black background for maximum readability in bright environments.

Text-to-Speech (TTS)

Click on the Text-to-Speech accordion section to expand the TTS settings:

  • Voice — A dropdown lists all voices installed on your device. Select your preferred language and accent.
  • Rate — Control the speaking speed from 0.5x (slow) to 2x (fast).
  • Pitch — Adjust the voice pitch between 0 (deep) and 2 (high).
  • Speak Punctuation — When enabled, the voice will say ‘full stop’, ‘comma’, and so on instead of pausing silently.

iOS Note

On iPhone and iPad, speech synthesis voices only load after you first interact with the page. If no voices appear in the dropdown, press Play once, then open the TTS dropdown again. The voices will populate automatically.

Adaptive Speed Racer

Speed Racer is an advanced training module that automatically varies your WPM across multiple repetitions of the same message. It is designed to break through speed plateaus — those frustrating periods where you seem stuck at a certain WPM and cannot progress.

Enabling Speed Racer

Click the Off chip next to the Speed Racer title to toggle it On. The card becomes fully interactive and a live table appears showing the speed plan.

How the Speed Table Works

Speed Racer generates a table of WPM values for each repetition. For example, with 3 repeats and a Delta of 25%:

#

Δ%

Char WPM

Farn WPM

1

25%

25 WPM

12 WPM

2

12%

22 WPM

11 WPM

3

0%

20 WPM

10 WPM

 The trainer plays the message three times. The first play is 25% faster than your set speed, the second is 12% faster, and the third is exactly your set speed. By the time you reach your target speed, it feels easy because you have already processed the message at higher speeds. This is the Speed Racer effect.

  • Vary Char — When enabled, Character WPM is included in the speed variation.
  • Vary Farnsworth — When enabled, Farnsworth WPM also varies in proportion.
  • Repeats — How many plays per message (2 to 5).
  • Max Delta% — The percentage above your set speed used for the fastest play. Negative values mean slower-first (build up to speed).

Signal Waveform & Lamp Indicator

The Scrolling Waveform

The amber waveform display shows the last three seconds of signal history as a step function — high for a mark (tone on), low for a space (tone off). It scrolls in real time as the message plays. The visual pattern of the waveform matches what you would see on an oscilloscope connected to a real CW transmitter.

This display serves as a learning tool: you can visually identify the dit-dah patterns of each letter and develop pattern recognition alongside your audio training.

The Signal Lamp

Directly below the waveform is the signal lamp — a circular indicator that glows amber whenever the tone is on. It mirrors the waveform exactly. Toggle the Light option in the Audio Controls card to enable or disable it. Some practitioners prefer to practise with Sound off and Light on for silent visual copying drills.

Session History & CSV Export

The Scrolling Waveform

Every message you successfully complete is automatically logged in the History card at the bottom of the left column. The log shows:

  • Timestamp — The time of day the message was transmitted.
  • Message — The text content.
  • WPM — The Char WPM and Farnsworth WPM used.
  • Replay button — Click the small play arrow to instantly replay any past message at the recorded speed.

Click CSV to download the complete history as a comma-separated file. Open it in Excel, Google Sheets, or any spreadsheet application to analyse your practice sessions, track progress over time, or share with a training partner or Elmer.

Click Clear to erase the history log for the current session.

Session History & CSV Export

The Scrolling Waveform

Every message you successfully complete is automatically logged in the History card at the bottom of the left column. The log shows:

  • Timestamp — The time of day the message was transmitted.
  • Message — The text content.
  • WPM — The Char WPM and Farnsworth WPM used.
  • Replay button — Click the small play arrow to instantly replay any past message at the recorded speed.

Click CSV to download the complete history as a comma-separated file. Open it in Excel, Google Sheets, or any spreadsheet application to analyse your practice sessions, track progress over time, or share with a training partner or Elmer.

Click Clear to erase the history log for the current session.

The Signal Lamp

Directly below the waveform is the signal lamp — a circular indicator that glows amber whenever the tone is on. It mirrors the waveform exactly. Toggle the Light option in the Audio Controls card to enable or disable it. Some practitioners prefer to practise with Sound off and Light on for silent visual copying drills.

Pro Tip: For the most accurate OCR results from photos of physical documents, use high-contrast images (dark text on white or light background), ensure text is horizontal and not tilted, and photograph in good lighting. For images containing printed Morse code dot-dash patterns, always select the “Morse Code in Image” option before clicking Read Text from Image.

Keyboard Shortcuts Reference

Every key shortcut works when the keyboard focus is not inside a text input or dropdown. If shortcuts stop working, click anywhere on the main interface area to restore focus.

Space

Play / Pause — the most important shortcut. Toggle playback without touching the mouse.

S

Stop — halt playback completely and reset to message start.

P

Previous Session — go back one lesson.

N

Next Session — advance to the next lesson.

M

Next Message — load the next item in the pool without replaying the current one.

L

Cycle Repeat Mode — toggle between None, All, and One repeat modes.

F

Toggle Random Mode — turn random message selection on or off.

B

Toggle Bell step in the sequence pipeline.

C

Toggle Show After (flashcard reveal) step in the pipeline.

T

Toggle Say After (TTS reading) step in the pipeline.

1

Set play count to 1 (play each message once).

2

Set play count to 2.

3

Set play count to 3.

4

Set play count to 4.

5

Set play count to 5.

6

Set play count to Infinite (∞).

?

Open or close the built-in keyboard shortcuts reference panel.

The 13-Lesson Curriculum

The lesson order follows the official CW Academy progression, developed by the CW Operators Club (CWops). Each lesson introduces characters chosen for their acoustic distinctiveness — so you always learn characters that sound as different from each other as possible. This prevents confusion and accelerates recognition speed.

 
LessonNew CharactersWhat to practise & notes
1K, MStart here. K is -.- and M is –. Both are long sounds with no dits. Focus on the rhythm contrast.
2R, SR is .-. and S is … — your first dit-heavy characters. With characters from Lesson 1.
3U, AU is ..- and A is .- — introduce dit-dah combinations. Pool now includes K, M, R, S, U, A.
4P, TP is .–. and T is just -. T is the shortest character in Morse. Good contrast with P.
5L, OL is .-.. and O is —. O is three dahs — a distinctive sound. Pool grows to 10 characters.
6W, IW is .– and I is .. — two more high-contrast additions. Try random mode from this lesson.
7N, EN is -. and E is just a single dot — the shortest possible sound. Critical to master.
8Common WordsThe, And, But, For, Are, Was, His, Her, That. Full word recognition training begins here.
9H, DH is …. and D is -.. — complete the core alphabet used in QSOs. Start Ninja Mode here.
10Numbers 0-9All ten digits plus common strings: 73, 88, 599, 1000, 2024. Numbers are slower to learn.
11PunctuationFull stop .-.-.- , comma –..– , question ..–.. , slash -..-. , exclamation -.-.-.
12CW AbbreviationsCQ, DE, QSO, QTH, QRZ, RST, 73, 88, HI, OM, YL, TU, PSE, UR, FB. Real QSO vocabulary.
13CallsignsW1AW, K6RB, WR7Q, AC5EZ, VK2ZZZ, JA1ZZZ, G3ZZZ, DL9ZZZ. International formats.

Advanced Tips & Techniques

Tip 1: Ninja Mode for Callsign Drilling

Switch to Lesson 13, enable the Callsigns filter, apply the Ninja Mode preset, and set your play count to 3. The trainer will: play the callsign in Morse, pause for your recognition gap, show the callsign as a flashcard, say it aloud, then play the Morse a second time. This complete loop bakes callsign patterns in deeply. Expect significant improvement within one week of 15-minute daily sessions.

Tip 2: 5-Second Gap for Handwriting Practice

Serious operators copy Morse onto paper. Set the Recognition Gap to 5000 ms (5 seconds). This gives you enough time to write the full word between transmissions without falling behind. Reduce it by 500 ms each week as your speed increases.

Tip 3: Create a Daily Practice Podcast

Load Lesson 12 (CW Abbreviations), set your target WPM, enable Random mode, then click Save Audio. Do this for five or six messages to create a batch of WAV files. Combine them in any audio editor (Audacity is free) to make a 5-10 minute practice track. Transfer it to your phone and play it during your morning commute or exercise session.

Tip 4: Variable Pitch for Realistic Conditions

Real on-air CW signals drift in frequency due to temperature and oscillator aging. Enable Variable Pitch in the Audio Controls to simulate this. It shifts the tone randomly by up to 100 Hz each character. Your brain learns to identify letters regardless of exact pitch — a critical skill for contesting and pile-up work.

Tip 5: Share Your Exact Drill With Your Elmer

Configure the trainer exactly as your Elmer or training partner recommends — specific WPM, specific pipeline steps, specific lesson. Click Share and send the URL. They will open the tool with your exact settings pre-loaded. Ideal for remote coaching without the complexity of explaining every setting.

Technical Specifications

Browser Compatibility

  • Google Chrome 80+ — Fully supported. Recommended.
  • Microsoft Edge 80+ — Fully supported.
  • Mozilla Firefox 75+ — Fully supported.
  • Apple Safari 14+ (macOS and iOS) — Fully supported. See iOS audio note.
  • Opera — Fully supported.
  • Any modern browser with Web Audio API support.

Mobile Devices

The interface is fully responsive and adapts to phone and tablet screen sizes. On small screens, the two-column layout stacks vertically. Vibration feedback is available on Android devices. All features including Save Audio, TTS, and keyboard shortcuts work on mobile (keyboard shortcuts require a physical keyboard).

Audio Engine

All CW tones are generated in real time using the Web Audio API OscillatorNode. No audio files are downloaded or cached. Timing precision uses requestAnimationFrame for sub-millisecond accuracy. The WAV export renders offline using an OfflineAudioContext.

Privacy

InMorseCode collects zero data. No analytics, no cookies, no tracking pixels, no account required. Settings are stored only in the JSON file you download or the URL you share. Nothing is sent to any server — ever.

Standards Compliance

Morse timing follows the ITU-R M.1677-1 standard. The 1200/WPM formula is used for all timing calculations. The character set covers all ITU standard Morse code characters including letters A-Z, digits 0-9, and standard punctuation marks.

Frequently Asked Questions

Find answers to common questions about Morse code and how to use our Wingdings Translator effectively

Why is there no sound on my iPhone or iPad?

iOS requires a direct user interaction (a tap or click) before any Web Audio will play. The Play button itself counts as that interaction, so simply pressing Play should resolve the issue. If you still hear nothing, check that your iPhone’s Silent Mode switch (on the left side of the device) is not enabled — it silences Web Audio even when your volume is turned up. Also check that the Sound chip is toggled On in the Audio Controls card.

Click the Save button in the Settings card to download a JSON file containing all your settings. The next time you open the trainer, click Load and select that file to restore everything exactly. Alternatively, use the Share button to generate a URL you can bookmark — opening that URL restores your complete configuration without needing a file.

Character WPM controls how fast the dots and dashes inside each letter are sent. Farnsworth WPM controls how much space appears between letters. Set Char WPM high (20-25) and Farnsworth WPM low (5-10) as a beginner. Gradually increase Farnsworth until both match. At that point you are reading at your Char WPM speed.

 

Once the page has loaded (which requires internet to fetch the fonts and application code), the audio engine works entirely offline. The only features that need an active connection are text-to-speech voices on some devices (iOS loads them from Apple’s servers) and the initial font downloads. After first load, the audio, waveform, and all training features work with no internet connection.

The table shows the exact WPM values for each repetition of the current message. If your Character WPM is set to 20 and your Delta is 25% with 3 repeats, the table shows: Rep 1 at 25 WPM (25% faster), Rep 2 at 22 WPM (12% faster), Rep 3 at 20 WPM (your target speed). The row for the currently-playing repetition highlights amber so you always know where you are in the cycle.

Go to the Practice Content card and turn off all the content filter chips except the one you want. To practise only callsigns, disable Characters and Words, then enable only Callsigns. To practise only numbers, enable only Numbers. Select Lesson 10 for numbers (which has all digits plus common radio strings) or Lesson 13 for callsigns. The message pool updates instantly.

Below the message text in the Current Message card, the trainer shows the ITU Morse code representation of the current message. It uses a middle dot (·) for dits and an em dash (—) for dahs, with a slash (/) separating words. This is purely for reference and learning — you will soon stop needing to look at it as the sounds become automatic.

Free for all amateur radio operators and Morse enthusiasts worldwide.

ITU-R M.1677-1 compliant  •  Web Audio API  •  JetBrains Mono & Inter fonts  •  No account required