| # | Name | MMSI / IMO | Type | Speed / Heading | Destination | Copy |
|---|---|---|---|---|---|---|
| {{ row.rank }} | {{ row.name }} | {{ row.identity }} | {{ row.type }} |
{{ row.speed }}
{{ row.heading }}
|
{{ row.destination || '-' }}
{{ row.coord }}
|
|
| No vessels match the current filters. | ||||||
| Loading latest positions... | ||||||
Ship position reports are short broadcasts that describe where a vessel was last seen, how fast it was moving, and the direction it was travelling. If you need ship tracking for Finnish waters, a snapshot list helps you confirm traffic, arrivals, or departures without digging through a full navigation system.
They are most useful when you want a quick check and a consistent way to compare vessels side by side. You can search by a name, a radio callsign, or a numeric identity and then focus on one match to review its latest details.
You provide a term and optional filters for vessel class, motion, and proximity, and you get back a ranked list with position, speed, heading, and destination text when it is reported. When names are similar, matching by an identifier usually produces cleaner results. If you share copied coordinates, consider whether movement details are sensitive.
For example, when a cargo ship is expected near a harbor, set a center point at the harbor, add a radius, and hide stationary vessels to focus on active approaches. If nothing appears, widen the filters, try a different match field, or search by an identifier to avoid name lookalikes. A snapshot can lag behind real movement, so treat small differences as normal noise rather than a sudden change.
Automatic Identification System (AIS) messages are periodic broadcasts from vessels that include identity fields and dynamic navigation data. This tool queries a Fintraffic Digitraffic snapshot service that refreshes about every 15 minutes and returns a point geometry for each vessel.
Identity fields can include the Maritime Mobile Service Identity (MMSI), the International Maritime Organization (IMO) number, a radio callsign, and the vessel name. The core position fields are latitude and longitude in decimal degrees, and motion fields such as Speed Over Ground (SOG) and Course Over Ground (COG) describe movement over the Earth surface.
The page converts speed from knots to kilometers per hour, derives readable labels from navigation status and ship type codes, and can estimate distance from an optional center point. With a center point set, results are sorted by proximity, and a positive radius keeps only vessels within that distance.
Ship type filters use numeric code bands such as cargo 70 to 79 and tanker 80 to 89, including a Service and Search and Rescue (SAR) group. Because the feed is a snapshot, treat each row as the latest reported state rather than a continuous track, and expect gaps or stale values.
| Symbol | Meaning | Unit or Datatype | Source |
|---|---|---|---|
lat, lon |
Latitude and longitude in decimal degrees | number | Input |
φ, λ |
Latitude and longitude in radians | rad | Derived |
R |
Earth radius used by the Haversine calculation | km | Constant |
d |
Great circle distance between center and vessel | km | Derived |
v |
Speed Over Ground converted from knots to kilometers per hour | km/h | Derived |
Worked example using a center point of 60.2000, 25.0000 and a vessel position of 60.2500, 25.1000.
If the radius is 10 km, this vessel is included. If the radius is 5 km, it is excluded.
| Group | Ship type rule | What it represents |
|---|---|---|
| Cargo | 70 to 79 | General cargo and related cargo classes |
| Tanker | 80 to 89 | Liquid cargo tankers |
| Passenger | 60 to 69 | Passenger vessels |
| High speed craft | 40 to 49 | High speed craft classes |
| Service and SAR | 50 to 59 and 30 to 39 | Service and rescue craft, plus workboats and tugs in the 30x range |
| Fishing | 30 | Fishing vessels |
| Sailing and pleasure | 36 or 37 | Sailing vessels and pleasure craft |
| Other and undefined | 0 or 90+ | Undefined type, or types outside the grouped ranges |
Heads-up The Service and SAR option also includes ship type codes 30 to 39, which may overlap with fishing and other 30x classes.
| Parameter | Meaning | Unit or Datatype | Typical range | Sensitivity | Notes |
|---|---|---|---|---|---|
search_term |
Text term used to match identity fields or vessel name | string | Empty or any length | High | Apostrophes are escaped before querying. |
search_mode |
Match strategy | enum | auto, mmsi, imo, callsign, name | Medium | Auto treats 9 digits as MMSI and 7 digits as IMO. |
ship_type |
Ship type group filter | enum | any, cargo, tanker, passenger, highspeed, service, fishing, pleasure, other | Medium | Implemented as numeric ship type bands in the query. |
limit |
Maximum number of rows requested from the snapshot | integer | 1 to 200 | Medium | Clamped and floored before requests. |
hide_stationary |
Exclude vessels with SOG of zero | boolean | true or false | Low | Applied both in the query and in local filtering. |
center_lat, center_lng |
Center point used for sorting and distance filtering | number | lat −90 to 90, lng −180 to 180 | High | When set, results are sorted by distance even without a radius. |
radius_km |
Distance cutoff from the center point | number | greater than 0 | High | Only applied when a center point is valid. |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
R |
6371 | km | Constant | Used by the Haversine distance calculation. |
| Knots to km/h | 1.852 | km/h per kn | Constant | Displayed alongside SOG in knots. |
| Field | Type | Min | Max | Step or pattern | Error text | Placeholder |
|---|---|---|---|---|---|---|
| Search term | text | 0 | — |
Auto detects 9 digits as MMSI and 7 digits as IMO, otherwise uses a contains match MMSI mode accepts 7 to 9 digits after non digits are removed |
Provide a valid MMSI/IMO/name or adjust the filters. | e.g., 230685000, EVER GIVEN, VRWW4 |
| Result cap | number | 1 | 200 | Integer, clamped and floored | — | 50 |
| Center latitude | number | −90 | 90 | Step 0.0001 | — | Latitude |
| Center longitude | number | −180 | 180 | Step 0.0001 | — | Longitude |
| Radius | number | 0 | — | Step 1, applied only when greater than 0 | — | e.g., 50 |
| Hide stationary | boolean | — | — | Requires SOG greater than 0 | — | Off |
| Input | Accepted families | Output | Encoding or precision | Rounding |
|---|---|---|---|---|
| Identity term | MMSI, IMO, callsign, or a name substring | Filtered vessel list | Uppercase contains match for text modes | Not applicable |
| Center point and radius | Decimal degrees and kilometers | Distance labels and radius filtering | Distance to 1 decimal | Formatter controlled |
| Snapshot view | Current in-memory results | Table copy or download, JSON copy or download, DOCX export | JSON uses 2-space indentation | Not applicable |
| Map links | Latitude and longitude | External map URLs for the selected vessel | Coordinates URL encoded | Not applicable |
The ETA field is interpreted as mmddhhmm and converted into a UTC timestamp for the current UTC year, rolling to the next year if the date has already passed.
fetch from an ArcGIS FeatureServer query endpoint.rel="noopener" to reduce cross tab access.Conceptually, AIS message fields are defined in ITU-R Recommendation M.1371, timestamps follow ISO 8601 formatting conventions, and the distance estimate uses the standard Haversine formulation on a spherical Earth model.
Vessel movements can be sensitive in some contexts, and your query terms are sent from your browser to the snapshot service and map providers, so follow local policy and data protection guidance.
Vessel position snapshots help you confirm identity, movement, and proximity with a repeatable set of filters.
Example search flow.
You will see cargo vessels sorted by distance from the center point, limited to those within the radius and reporting movement.
Pro tip: for repeated checks, keep the same center point and radius so changes reflect vessel movement rather than changing filters.
The page sends your search filters to the snapshot endpoint to retrieve matching vessels. The provided script does not write to local or session storage. Remote services and map providers may keep their own access logs.
Results come from a snapshot feed that refreshes about every 15 minutes, so the latest position may lag behind real movement. Treat the timestamped state as last reported, not continuous tracking.
You can search by Maritime Mobile Service Identity (MMSI), International Maritime Organization (IMO) number, callsign, or a vessel name substring. Auto detect uses digit count for MMSI and IMO.
It removes vessels that report Speed Over Ground (SOG) of zero. This filter is applied in both the server query and the local list.
Lookups require a network connection to fetch the snapshot, and the map view also loads tiles from a separate service. If connectivity drops after a lookup, you may still view the current results.
The package metadata does not declare pricing or licensing terms. Check the host policy if you need formal reuse guidance.
Set Match field to callsign, then enter the full callsign or a distinctive fragment. The query uses a case-insensitive contains match, so partial strings can work.
Status unknown means the navigation status code did not match the known set of labels. It can occur when the upstream value is missing, outside the expected range, or uses a reserved code.