Skip to main content

Tapping picoCTF 2019 Solution

Decode a message transmitted as a series of dots and dashes using a well-known encoding standard.

Published: April 2, 2026Updated: August 13, 2026

Description

Dots and dashes are a funny sort of language. Decode this Morse code message to find the flag.

Remote

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.

Walk me through it
  1. Step 1Decode the Morse code
    Observation
    The 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.world or CyberChef's "From Morse Code" recipe handle it instantly. For programmatic decoding, Python libraries like morse3 or 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.

Key takeaway

Morse code is an encoding, not encryption: there is no key and the mapping is public, so anyone with a chart decodes any message. The same holds for every classic substitution encoding, A1Z26, Base64, and Braille included, where recognizing the format is the only barrier. In CTFs and real steganography, Morse often turns up embedded in audio waveforms, pixel patterns, or timing sequences, so knowing the notation helps in signal analysis too.

Related reading

Tools used in this challenge

Where to go next