Morse code, both ways
Type something and hear it. This translates text to morse and morse back to text, plays it at any speed, and tells you if anything could not be sent.
It tells you what it could not send
Morse has no code for an accented letter, a curly apostrophe or an emoji. Most translators drop those silently and hand back morse that quietly omits part of your message. This one lists exactly what it had to leave out, because a translation with a hole in it is worse than being told there is one.
Speed is a real measurement, not a slider
A dit is 1200 divided by the words per minute, so 20 WPM means a 60 millisecond dit and a 180 millisecond dah. The standard word is PARIS because it is exactly fifty units long. Everything here plays at real timing rather than an approximation of it.
Everything runs in your browser
Translating, the tone, the practice key, the microphone decoder and the reference all work with no account and no connection once the page has loaded. Nothing you type is sent to us.
Questions
What is SOS in morse code?
Three dots, three dashes, three dots — ... --- ... — and it is sent as ONE symbol with no gaps between the letters, which is why it is written <SOS> rather than S O S. It was chosen because it is unmistakable and easy to send, not because it stands for anything; "save our souls" was invented afterwards.
How fast is 20 words per minute?
A dit is 1200 divided by the speed in words per minute, so at 20 WPM a dit is 60 milliseconds and a dah is 180. The standard word is PARIS because it is exactly 50 units long, which is what makes words per minute a precise measure of morse rather than an approximate one.
What is Farnsworth spacing?
Sending the characters at full speed while stretching the gaps between them. It exists because learning morse slowly teaches you to count dits, and that habit has to be unlearned before any real speed is possible. Learning the character sounds at 18 WPM with long gaps means never having to relearn them.
Why do some characters come back missing?
Because morse has no code for them. There is no standard morse for an accented letter, a curly apostrophe or an emoji, so anything without a code cannot be sent. This site lists exactly what it had to drop rather than quietly leaving it out, which is what most translators do.