Morse code is a method of transmitting text information as a series of on-off tones, lights, or clicks.
Practice Morse Code
Result will appear here
Practice Phrases Management
Morse Code Audio
Listen to Morse code sounds and practice decoding by ear
600 Hz
15 WPM
50%
Audio status: Ready
CW Key Interface
Connect your USB CW key or use touch/keyboard as a virtual key
CW Key not connected
15 WPM
Dot: 80ms, Dash: 240ms, Char space: 240ms
Press your CW key, Spacebar, or Touch here to test
(Touch and hold for dash, quick tap for dot)
CW output will appear here...
Morse Code Flashcards
Click on the card to reveal the Morse code
A
.-
Practice This Character
Use your CW key (keyboard, touch, or mouse) to practice sending the displayed character
Press Spacebar, click, or touch here to practice
(Touch and hold for dash, quick tap for dot)
Your CW input will appear here...
Your Learning Progress
Track your Morse code learning journey
0
Letters Learned
0
Practice Sessions
0
Flashcards Viewed
Overall Progress
About Morse Code Learning App
Welcome to the Morse Code Learning App - a comprehensive, progressive web application designed to help you learn, practice, and master Morse code efficiently and enjoyably.
Features
Learn: Complete Morse code reference table with interactive character learning
Practice: Convert text to Morse and vice versa with audio playback
Audio Training: Customizable Morse code audio with adjustable speed, frequency, and volume
CW Key Interface: Virtual CW key with keyboard, touch, mouse, and Web Serial API support
Flashcards: Interactive flashcard system for memorization
Progress Tracking: Track your learning progress with statistics
Phrase Management: Save, import, export, and organize practice phrases
Offline Capable: Works without internet connection (PWA)
Responsive Design: Works on desktop, tablet, and mobile devices
Technical Details
This application is built using modern web technologies:
HTML5, CSS3, and Vanilla JavaScript
Web Audio API for Morse code sound generation
Web Serial API for hardware CW key support (experimental)
Progressive Web App (PWA) with service worker
LocalStorage for data persistence
Responsive CSS Grid and Flexbox layouts
Morse Code Timing
The app uses standard PARIS timing calculation:
Dot duration = 1 time unit
Dash duration = 3 time units
Intra-character space = 1 time unit
Character space = 3 time units
Word space = 7 time units
PARIS word = 50 time units (standard for WPM calculation)
Words Per Minute (WPM) calculation: Time unit = 1200 / WPM (in milliseconds)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Acknowledgments
Special thanks to:
Samuel F. B. Morse and Alfred Vail for inventing Morse code
The amateur radio community for preserving and promoting CW
All open-source contributors to web audio and serial APIs