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 1Decode the Morse code
ObservationThe server output is nothing but dots and dashes separated by spaces, with slashes between words. That is the unmistakable shape of Morse code, so a Morse decoder recovers 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 alphanumerics; neither matches a string of dots and dashes, so both give garbage or an error. These are Morse notation, so what you want is a Morse decoder or a letter-by-letter 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.