MarineActivityCoastal AIS, clearly readOpen live map

Tools · AIS message decoder

AIS message decoder

Paste a raw !AIVDM or !AIVDO line from a receiver and see what it says: message type, sender, position, speed, course, name, destination. It runs in your browser and sends nothing anywhere.

The two examples are published test sentences of the kind used in open-source AIS decoder documentation, not live traffic. Anything before the ! on a line, such as a timestamp, is ignored.

How to read a sentence

A line such as !AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C is a comma-separated NMEA 0183 sentence:

FieldExampleMeaning
Sentence ID!AIVDMAI is the talker (AIS); VDM is a message heard from another station. VDO is the receiver’s own ship.
Fragment count1How many lines the message is split over.
Fragment number1Which of those lines this is.
Sequence IDemptyTies the lines of a multi-line message together.
Radio channelBA is AIS 1 (161.975 MHz), B is AIS 2 (162.025 MHz).
Payload15M67F…The message, six bits to a character.
Fill bits0Padding at the end of the last payload line, 0 to 5 bits.
Checksum*5CXOR of the characters between ! and *.

The payload is turned back into bits (subtract 48 from each character’s ASCII code, and 8 more if the result is above 40), the last fill bits are dropped, and the first six bits give the message type. The rest is laid out by that type.

What this decoder unpacks

Position and identity fields are unpacked for types 1, 2, 3, 4, 5, 9, 11, 18, 19, 21, 24 and 27. For every other type it reports the type and the sender’s MMSI and says the body is not decoded. Each type page lists the bit layout, so you can check any value by hand.

A decoder shows what a sentence says, not whether it is true. Names, destinations, ETAs and navigational status are typed in by crews; position and speed come from GNSS. Read how AIS works and the message type reference for what to trust. The MMSI decoder and IMO number checker pick up where this leaves off. This page is informational and must not be used for navigation or collision avoidance.

Questions

What is an !AIVDM sentence?

It is the NMEA 0183 wrapper that carries an AIS message from a receiver to software. !AIVDM is a message heard from another station; !AIVDO is the receiver’s own ship. The payload is the AIS message packed six bits to a character.

Why does a message come as two lines?

A single sentence holds at most 82 characters, and some AIS messages are longer. A type 5 static and voyage report is 424 bits and normally arrives as two sentences. The second and third fields of each line say how many fragments there are and which one this is; paste all of them together.

What does the checksum after the asterisk check?

It is an exclusive-or of every character between the ! and the *, written as two hexadecimal digits. A mismatch means the line was altered or damaged after it was sent. The decoder still shows the fields but flags the failure.

Why do some fields say “Not available”?

Every AIS field reserves one value to mean “no data”: 102.3 knots for speed, 360 degrees for course, 511 for heading, 181 degrees for longitude. A decoder that prints those as measurements is wrong; this one labels them.