His questing finger moved slowly down the page, and stopped. Good old International Maritime Codes. They'd been devised eighty years before, but the men in those days had really thought hard about the kind of perils that might possibly be encountered on the deep. He picked up his pen and wrote down: "XXXV QVVX." Translated, it meant: "Have just found Lost Continent of Atlantis. High Priest has just won quoits contest."

Neil Gaiman, Terry Pratchett; Good Omens


The International Code of Signals is descended from a long line of naval signals including semaphore, heliographs, lighthouses, and more. The basic idea is that combinations of single flags can be used with a standardized code book to communicate with other vessels in close proximity. If there are N distinct flags in the flag bag, then you can send (Nn + N(n-1) + ... + N1 + N0) distinct messages using message groups of n or fewer flags1. The volume of available messages in even a small subset allows a carefully constructed code book to contain all but the most obscure messages.

An extended history

In 1738, Mahé de la Bourdonnais proposed to use ten colored flags to indicate the numbers from zero to nine. With three sets of such flags, all separately colored, 1,000 code combinations could be made. Ignace Chappe wrote in 1824 that he considered it a regrettable mistake that the system of de la Bourdonnais had never been adopted by the French Navy. In 1763, Sebastian Francisco de Bigot, the founder of the Marine Academy in Brest, published a new code book "Tactique Navale ou Traite des Evolutions et des Signaux". The book, for the first time ever, specified a true protocol for the use of coded flags. De Bigot's book had three parts. The first, and largest, part listed 336 distinct flag signals for signaling predefined events or commands from ship to ship. It introduced some important protocol rules, such as the definition of a "preparatory signal flag" for synchronization, the requirement that a receiver acknowledge all signals received by repeating them, and the use of "repeater vessels" to allow for broadcasting signals to an entire fleet. The second part of the book, Table de Manieres, contained an alphabetical index of all signals listed in the first part. Each signal was given a number, allowing for a quick cross-referencing of related signals. The third part of the book gave standard maneuvering diagrams for ships.

In 1790, Admiral Lord Richard Howe wrote the first such system in English, assigning ten colored flags the designators zero through nine, and six other flags for control codes. The lexicon had 260 signals, which was extended to 340 in 1799. In 1800, Admiral Sir Home Popham wrote "Telegraphic Signals of Marine Vocabulary," which contained 3,000 signals. Each signal used one of three control flags as a series indicator, followed by combinations of three of Howe's flags (three sets of 1,000 signals). Words not in the code book could be spelled out with single-flag hoists (A-K, with I and J the same flag) and double-flag hoists (L-Z).

At the Battle of Trafalgar, Admiral Nelson sent several commands, followed by the famous message "England expects that every man will do his duty." All of the words except "duty" were able to be spelled with three-flag hoists. After the battle, Popham's code became known as the Trafalgar Code, an indication that it was considered a success. In 1813 Popham issued new signal books, extending the range to 6,000 predefined sentences and phrases, and 60,000 words.

In the 19th century, flag vocabularies proliferated, as enlightened merchantmen and sailors from the upper classes devising their own (obviously superior!) systems. Marryat and Watson both became dominant alongside the Trafalgar code. Each system had its own unique flag to demonstrate which flag-language was being used. This is akin to the header of a document specifying ASCII, ANSI, or any of the ISO- alphabets. The proliferation caused cabins to be jammed with obscure patented books that were rarely used, and slowed down communication. In 1857, the basic version of today's code (The Commercial Maritime Code) was in place: 18 flags with 70,000 messages. In 1865, the French and the British jointly revised the flag systems from the Commercial Maritime Code (based on Marryat) into one code with 78,542 possible signals, of which 50,000 were used. Over the next century, most Western countries (and their colonies) adopted the code, which had almost reached its modern form in 1931, when it had been translated into English, French, German, Italian, Japanese, Spanish, and Norwegian.

The latest revision of the code was adopted by the Fourth Assembly of the Intergovernmental Maritime Consultative Organization in 1965 and became effective on January 1, 1969. The revision added Russian and Greek to the languages, bringing the total to seven languages and solidifying the signal lexicon in its modern form.

How it works

There are 40 flags in today's modern flag bag in the colors red, white, black, yellow, and blue. 26 letters, 10 numbers, and 3 "repeaters", and the answering flag (to confirm that a grouping has been received). A "repeater" is used with codes like ALA or words like CHEER, which would be spelled AL(R1) and CHE(R3)R, meaning: "A, L, repeat first letter" and "C, H, E, repeat third letter, R". Repeaters mean "repeat first/second/third of this type in this group," so you can repeat letters or numbers, but not after a flag-type change. That is, "A1A" could not be signaled with a 40-flag bag.

The 26 letters each have a meaning on their own; here I describe each flag by its phonetic alphabet name, its design (left to right or top to bottom where unclear), and its meaning:

  • Alpha - swallowtail flag, white and blue - Diver down (or) keep clear
  • Bravo - red swallowtail flag - Dangerous Cargo
  • Charlie - five horizontal stripes, blue-white-red-white-blue - YES/Affirmative
  • Delta - three horizontal stripes, yellow-blue-yellow - Keep Clear, I am having trouble maneuvering
  • Echo - two horizontal bars, blue-red - Altering Course to Starboard
  • Foxtrot - white with red rhombus - Disabled
  • Golf - six alternating vertical stripes, yellow and blue - Need a Pilot
  • Hotel - two vertical bars, white and red - Have a Pilot
  • India - yellow with black circle - Altering Course to Port
  • Juliet - three horizontal stripes, blue-white-blue - On Fire, Keep Clear (OR) I am sending a message by semaphore
  • Kilo - two vertical bars, blue-yellow - Desire to Communicate
  • Lima - four checkers, black and yellow - (Urgent) STOP!
  • Mike - Blue with white St. Andrew's Cross - I am stopped / My engines are off (OR) I have a doctor on board
  • November - sixteen checkers, blue and white - NO/Negative
  • Oscar - divided diagonally upper-left to lower-right, red above yellow - Man Overboard
  • Papa - blue with smaller centered white square - Prepare to leave / All Aboard
    This flag is also known as the "Blue Peter"
  • Quebec - solid yellow - Request Pratique
  • Romeo - red with yellow swiss cross - You may feel your way past me (I'm going the right way, take the lead).
  • Sierra - small blue square on white (inverse of Blue Peter) - Engines going full speed astern
  • Tango - three vertical bars, red-white-blue - do not pass ahead of me
  • Uniform - four checkers, red and white - you are heading into danger
  • Victor - White with red St. Andrew's cross - I require assistance (not urgent)
  • Whiskey - concentric squared rings, red in white in blue - I require medical assistance
  • X-Ray - white with blue swiss cross - Stop your intentions and watch for my signal
  • Yankee - yellow with five thin red diagonal stripes, upper left to lower right - I am dragging anchor (or) I am carrying mail
  • Zulu - divided into four diagonal quadrants, yellow-blue-red-black - I require a tug
The numbers do not have their own meanings, and are narrow pennants tapered from the hoist side to the fly side, squared off at the fly side. 0. three vertical bars, yellow-red-yellow
1. white with red circle
2. blue with white circle
3. three vertical bars, red-white-blue
4. red with white swiss cross
5. two vertical bars, yellow-blue
6. two horizontal stripes, black-white
7. two horizontal stripes, yellow-red
8. white with red swiss cross
9. four quadrants, white-black-red-yellow
ACK. four vertical bars, red-white-red-white

Repeaters are triangular (not squared off):

R1. blue with small yellow congruent triangle at hoist-side
R2. two vertical bars, blue-white
R3. three horizontal stripes, white-black-white

The real power of the International Code of Signals comes from the two-, three-, four-, five-, six-, and seven-flag codes. They are used as follows: two-flag groups are used for distress and maneuvering signals. Three-flag groups are points of the compass, relative bearings, standard times, verbs, punctuation, also general code and decode signals. Four-flags are used for geographical signals, names of ships, bearings, etc. Five-flag signals are those relating to time and position. Six-flag signals are used when necessary to indicate cardinal directions in latitude and longitude signals. Seven-flags are for longitude signals containing more than one hundred degrees.

Some two-letter signals provided by boatsafe.com included BZ (Job well done) and YU ("I am going to communicate with your station by means of the International Code of Signals")... an abbreviated lexicon is appended here. These codes may also be sent in Morse Code or Semaphore.


AC - I am abandoning my vessel (and taking the time to hoist flags about it?).
AN - I need a doctor.
BR - I require a helicopter.
CD - I require immediate assistance.
DV - I am drifting.
EF - SOS/MAYDAY has been canceled (I now have time to hoist flags?).
FA - Will you give me my position?
GW - Man overboard. Please take action to pick him up (Flag signalman is okay).
JL - You are running the risk of going aground.
LO - I am not in my correct position (used by a light vessel).
NC - I am in distress and require immediate assistance.
PD - Your navigation lights are not visible (But hopefully you can see my flags).
PP - Keep well clear of me.
QD - I am going ahead.
QT - I am going astern.
QQ - I require health clearance.
QU - Anchoring is prohibited.
QX - I request permission to anchor.
RU - Keep clear of me; I am maneuvering with difficulty.
SO - You should stop your vessel instantly.
UM - The harbor is closed to traffic.
UP - Permission to enter harbor is urgently requested. I have an emergency.
YZ - I'm going to spell a word with my next set of flags.
ZD1 - Please report me to the Coast Guard, New York
ZD2 - Please report me to Lloyds, London.
ZL - Your signal has been received but not understood (to which a wiseass would reply, "ZL").



References:
  1. The Early History of Data Networks - Gerard J.Holzmann, Björn Pehrson, http://vvv.it.kth.se/docs/early_net/ch-2-1.2.html
  2. Signal Flags - cached on Google - http://pc-78120.udac.se:8001/WWW/Nautica/Signalling/Signal_Letters.html
  3. Nautical Know-How - http://www.boatsafe.com/nauticalknowhow/flags.htm

Footnote on combinatorics:

With N flags in your flag bag and room on your hoist rope for n flags to sit side-by-side, and assuming that with the repeater flags you are capable of producing any combination of repetitions, then there are available to you a finite number of messages. Given that we have 36 flags not counting repeaters, N = 36. Given that messages can be up to 7 characters in length, n = 7.

For a 1-character message, we have N1 possible messages, and for the longest possible message, we have Nn possible messages. For all of the possible messages, then, we need to add the totals for each length:

(Nn + N(n-1) + ... + N1 + N0)

In our case, that gives us the ability to send 80,603,190,213 messages (but the vast majority of them are unused, because 6- and 7-character signs are used mostly with numbers to send lat/long pairs). I add the zero in the above formula both to prove the trivial case and to make a point about information theory. It is not always the case, but in this code system, the null message has meaning: "Flagger asleep," "Flag bag not functioning," "We don't want to talk to you," or "Flags left in last port by drunken sailor."

Thanks to khym chanur for pointing out my math error!

Log in or registerto write something here or to contact authors.