Morse Code Decoder

Paste Morse, upload a recording or picture, or let MorsePad listen live.

Decoded text

Processed locally in your browser

Decode Morse code four ways

Choose the input that matches your message. Text translates written dots and dashes immediately, accepting bullets and long dashes too. Separate letters with spaces and words with / or |. Audio file reads a WAV, MP3, OGG or M4A recording, while Microphone listens to tones from a nearby speaker or radio after you grant permission. Image / Picture reads visible Morse marks from a screenshot, scan or photo. All four methods run locally in your browser: recordings, microphone audio and pictures are never uploaded.

How the audio decoder works

Audio decoding starts by finding the signal's pitch. Automatic detection searches for the strongest frequency peak between 300 and 1500 Hz, then a bandpass filter reduces sounds outside that tone's range. A louder whistle or musical note can still be mistaken for Morse. If the detected frequency looks wrong, turn off auto-detect and select the tone manually. File audio is converted to a single channel; a background worker handles the timing analysis so the page stays usable while it processes samples.

Next, the decoder measures loudness in five-millisecond windows. An adaptive threshold distinguishes a beep from background noise, producing a sequence of sound and silence durations. Timing clusters separate shorter dots from longer dashes, then distinguish gaps within a letter, between letters and between words. Those groups are matched to Morse characters. This learns timing from the recording rather than requiring a preset speed, but uneven hand-keying, fading signals and overlapping transmissions can produce incorrect letters. Treat the result as a transcription to check, not a guaranteed reading.

Tips for clean recordings

Start with one clear tone and a steady recording level. Excessive volume causes clipping, which distorts the signal; very quiet audio can disappear into noise. For microphone decoding, place the device near the speaker without touching it, reduce room noise and avoid reverberant spaces. Headphones playing into a microphone are usually less reliable than a direct audio file. If you already have a recording, use the Audio file tab rather than playing it aloud and recording it again.

Trim unrelated speech, music and long noisy sections, but leave a little silence before the first beep and after the last. Do not cut away the pauses between letters: spacing carries information. Try the built-in 15, 20 and 30 WPM samples to compare a clean signal with your recording. To make a known test message at another speed or pitch, use the Morse audio generator. Compare its text with the decoded result before troubleshooting a difficult recording.

Decoding Morse from images

Choose a PNG or JPG, or paste an image into the Image / Picture tab. The decoder converts the picture to grayscale, chooses a threshold to separate marks from their background, and finds connected shapes. Roughly round marks become dots; marks more than twice as wide as they are tall become dashes. It groups shapes into rows and uses horizontal spacing to infer letter and word breaks. Clear, high-contrast images work best. Crop away borders and unrelated writing, keep rows level, and avoid shadows, touching marks or decorative lettering.

The overlay highlights detected symbols so you can compare them with the original. Check the editable Morse output for missing dots, split dashes or misplaced spaces. Correct it using spaces between letters and a slash between words; the text translation updates immediately. Editing the Morse does not redraw the image overlay. A photo of handwritten symbols may need more correction than a clean screenshot. Use the alphabet chart to check individual groups, or the main translator to compare a known phrase.

WPM and Farnsworth spacing explained

Words per minute uses the standard word PARIS, which occupies 50 timing units including its following word gap. One dot is one unit, a dash three, a letter gap three and a word gap seven. Dot duration is 1200 divided by WPM in milliseconds: 120 ms at 10 WPM, 60 ms at 20 and 40 ms at 30. The decoder estimates speed from signal timing. Farnsworth practice keeps characters fast but lengthens letter and word gaps, making the overall pace slower. Longer spacing does not mean longer dots.

Frequently asked questions