No, not all vessels have IMO numbers.

Here’s a breakdown:

✅ Vessels that do have IMO numbers:

The IMO number (International Maritime Organization number) is a unique identifier assigned by IHS Markit under the authority of the IMO. It is mandatory for:

  • Commercial ships ≥ 100 GT involved in international voyages
  • Cargo ships ≥ 300 GT in international service
  • Passenger ships, regardless of tonnage, in international service
  • Mobile offshore drilling units (MODUs)
  • Fishing vessels ≥ 100 GT, if flagged by a country that applies IMO’s voluntary scheme

❌ Vessels that do not have IMO numbers typically include:

  • Small recreational boats (e.g., yachts, sailboats under 100 GT)
  • Domestic-only vessels operating within a single country’s waters
  • Warships and naval auxiliaries
  • Inland waterway vessels
  • Fishing vessels in many countries (though this is changing)
  • Smaller barges or tugboats under 100 GT and not in international waters

Summary:

If the vessel is large and commercial, especially operating internationally, it almost certainly has an IMO number. For smaller, domestic, or non-commercial vessels, it likely does not.