Description
Dots and dashes are a funny sort of language. Decode this Morse code message to find the flag.
Setup
Connect to the challenge server to receive the Morse code string.
Solution
Want to try it yourself first?
The guided walkthrough reveals hints one step at a time.
Step 1
Decode the Morse codeObservationI noticed the server output consisted entirely of dots and dashes separated by spaces, with slashes acting as word delimiters, which are the unmistakable visual signature of Morse code and pointed directly to using a Morse decoder to recover the flag.Each letter is represented by a sequence of dots (.) and dashes (-) separated by spaces. Words are separated by slashes (/). Use an online Morse decoder (such as morsecode.world) or a reference chart: .- = A, -... = B, -.-. = C, and so on. Convert each symbol group to its corresponding letter to reveal the flag.What didn't work first
Tried: Treating the dot-dash string as binary or as Base64 and feeding it into a binary-to-text converter.
Binary uses only 0 and 1, and Base64 uses alphanumeric characters - neither matches a string of dots and dashes. The output will be garbage or an error. The dots and dashes are Morse code notation, so the correct tool is a Morse decoder or a letter-by-letter reference chart.
Tried: Splitting on every space to get individual symbols and then looking up each symbol, but forgetting that words are separated by slashes and treating slashes as another letter.
A slash (/) is the word separator in text-format Morse, not a Morse symbol itself. Passing it to a letter lookup returns nothing or an error. Filtering out slashes and using them to delimit word boundaries gives the correct plaintext.
Learn more
Morse code was invented by Samuel Morse and Alfred Vail in the 1830s for use with the electric telegraph. Each letter and digit is encoded as a sequence of short signals (dots, "dits") and long signals (dashes, "dahs"). The most frequently used letters in English - E (.) and T (-) - have the shortest codes, an early application of frequency-based encoding now formalized in information theory.
The structure of Morse code:
- A dot lasts 1 unit; a dash lasts 3 units
- Symbols within a letter are separated by 1 unit of silence
- Letters are separated by 3 units of silence
- Words are separated by 7 units of silence (often written as
/in text)
In CTF challenges, Morse code appears frequently because it is one of the oldest and most recognizable encoding schemes. It differs from encryption because there is no key - anyone with a reference chart can decode it. In real radio communications, Morse is still used by amateur (ham) radio operators worldwide and was used in aviation until recently. The SOS distress signal (
... --- ...) is universally understood even today.To decode quickly without memorizing the chart, online tools like
morsecode.worldor CyberChef's "From Morse Code" recipe handle it instantly. For programmatic decoding, Python libraries likemorse3or simple dictionary lookups work well.
Interactive tools
- Cipher Identifier & Auto-DecoderPaste any ciphertext and the tool auto-runs every common decoder (base64, hex, Morse, ROT, Atbash, Bacon, binary, decimal, URL) and ranks the results by English-likeness.
Alternate Solution
Copy the dot-dash string from the server and paste it directly into the Morse Code Decoder built into this site. It converts the code to letters instantly - no chart lookup required.
Flag
Reveal flag
picoCTF{M0RS3C0D31SFUN...}
Morse code maps letters to sequences of dots (short) and dashes (long). Letters are separated by spaces and words by slashes.