Text & wordsFree
Free Morse code translator. Convert text to Morse code and Morse back to text. Dots, dashes, and spaces.
Last updated 14 October 2026
The table behind this tool holds the 26 letters, the 10 digits and seven punctuation marks: full stop, comma, question mark, exclamation mark, slash, at sign and equals. That is 43 symbols in total. Anything you type that is not one of them is dropped without comment, and the status light stays green and says OK.
That single behaviour explains most of the surprises below, so it is worth seeing what it does to ordinary text before relying on the output.
Each of these was typed into the encoder and the result decoded straight back, with the status reading OK in green throughout:
Don't stop! returns as DONT STOP!. The apostrophe is gone; the exclamation mark survives.well-known returns as WELLKNOWN. The hyphen is gone and the two words are fused.a:b;c returns as ABC. Both the colon and the semicolon are gone.he said "hi" returns as HE SAID HI. The quotation marks are gone.50% (approx) returns as 50 APPROX. The percent sign and both brackets are gone.café returns as CAF. The accented letter is gone.你好 produces nothing at all, an empty output, still reported as OK.Case is lost as well, which is expected: Morse has no capitals, so Hello comes back as HELLO. That one is inherent to the code. The silent deletions are not.
Read the output, not the status light. A green OK here means the encoder ran, not that it represented your text.
Morse is specified by the International Telecommunication Union in Recommendation ITU-R M.1677-1, which lists the characters “that may be used and the corresponding Morse code signals”. Comparing that list against this tool's 43 symbols:
Defined by the ITU and missing here: the colon : (---...), the apostrophe ' (.----.), the hyphen - (-....-), both brackets ( and ), quotation marks, the plus sign + (.-.-.), the multiplication sign, and the accented é (..-..), which the standard lists among its letters. Also absent are the six prosigns the standard defines, including Understood, Error, Wait and End of work.
Supported here and not in the ITU list: the exclamation mark. The sequence this tool uses for it, -.-.--, is in common use but the standard's table does not define an exclamation mark at all.
The standard also handles the percent sign rather than dropping it: it says that to indicate %, “the figure 0, the fraction bar and the figures 0 or 00 shall be transmitted successively”, so 50% would be sent as 50-0/0. This tool simply deletes the sign.
Real Morse is made of durations, not characters. The ITU recommendation sets them out precisely: “A dash is equal to three dots”, the space inside a letter is one dot, “the space between two letters is equal to three dots”, and “the space between two words is equal to seven dots”.
This page writes one space between letters and a slash between words, which is the usual way of putting Morse into text and carries none of that timing. It tells you what to send, not how long to hold anything, and there is no audio, no flashing and no speed setting.
The slash convention has a rough edge at the margins, measured here: two spaces in a row produce two slashes, a leading space produces a leading slash, and a trailing space produces a trailing slash. Decoding an empty box gives a single ? rather than nothing.
Going the other way is stricter in a useful sense. Any sequence of dots and dashes that is not in the table becomes a question mark in the output rather than being skipped. Measured, ..--..--.. decodes to ?, and so does .-.-.-.-.-.
So a ? in decoded output means one of three things: a genuine question mark in the original message, a mistyped sequence, or a character this tool does not know. There is no way to tell which from the output alone, because the real question mark and the error marker look identical.
Letters within a word must be separated by single spaces and words by a slash. .- -... decodes to AB as one word; .- / -... decodes to A B. A full round trip on ordinary text is clean: Hello World 123 encodes and decodes back to HELLO WORLD 123.
?.If your text has punctuation this tool would drop, Text Cleaner will show you what is actually in it first, and Case Converter will flatten it to plain letters so you can see what will survive.
é, the prosigns, the percent-sign rule and the timing ratios quoted above: Recommendation ITU-R M.1677-1, International Morse code, International Telecommunication Union, October 2009, Annex 1 Parts 1 to 3. itu.intEvery behaviour and every value on this page was measured against this tool as it is published, in a browser, on 14 October 2026. Each example was encoded and then decoded straight back, and the comparison against the ITU table was made character by character.
Because the apostrophe is not among the 43 symbols this tool knows, and unknown characters are dropped with no warning while the status still reads OK. Measured, Don't stop! encodes and decodes back as DONT STOP!. The ITU standard does define an apostrophe, as .----., so this is a gap in the tool rather than in Morse.
Seven marks: full stop, comma, question mark, exclamation mark, slash, at sign and equals. Everything else, including the colon, semicolon, hyphen, brackets, quotation marks, percent and plus, is silently removed.
No. Accented letters are dropped, so café becomes CAF, and text in a non-Latin script produces an entirely empty result that is still reported as OK. The ITU standard does include an accented é as ..-..; this tool does not.
It means one of three things and you cannot tell which: a real question mark, a mistyped sequence of dots and dashes, or a character the tool does not know. Any unrecognised sequence is replaced with ?, which is the same symbol a genuine question mark decodes to.
No. This is the written convention, one space between letters and a slash between words. Real Morse is durations: a dash is three dots long, the gap between letters is three dots and the gap between words is seven. Nothing here plays or times anything.
Not as a prosign. Typing SOS gives three separate letters with gaps between them, which is not the run-together distress signal. None of the ITU prosigns is supported.
Because each space becomes a slash, so two consecutive spaces become two slashes, and a space at the start or end of the text leaves a slash there. Trim the text first if the output needs to be tidy.
No. The lookup table lives in the page and the translation happens in your browser. Nothing is stored and nothing is transmitted.