Tapping picoCTF 2019 Solution

Published: April 2, 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 1
    Decode the Morse code
    Observation
    I 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.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 scheme, not an encryption system; it has no key and the mapping is entirely public, so anyone with a reference chart can decode any message. The same principle applies to all classic substitution encodings such as A1Z26, Base64, and Braille: recognizing the format is the only barrier. In CTF and real-world steganography, Morse often appears embedded in audio waveforms, image pixel patterns, or timing sequences, so knowing the notation also helps during signal analysis.

Related reading

Want more picoCTF 2019 writeups?

Tools used in this challenge

What to try next