S-57 — IHO Electronic Navigational Chart Standard for ECDIS and SOLAS
S-57 is the international standard for the exchange of digital hydrographic data, developed by the International Hydrographic Organization (IHO, headquartered in Monaco, founded in 1921 as the International Hydrographic Bureau). Electronic Navigational Charts (ENCs) in the S-57 format are the underlying data structure displayed by ECDIS (Electronic Chart Display and Information System) on commercial and naval vessels worldwide. The format is binary, based on ISO/IEC 8211 data-pack encapsulation, and contains 159 feature object classes and 187 attributes describing everything from coastlines and depths to lighthouses, buoys, and anchorage areas. Since 2012, IMO has made ECDIS with official ENCs mandatory for all vessels under the SOLAS Convention, effectively giving S-57 a de-facto monopoly position in commercial seafaring for at least the next two decades.

History: IHO 1921 → S-57 Ed.3.1 (2000) → S-100/S-101 successor
The International Hydrographic Bureau (IHB) was founded in June 1921 in Monaco after the London Hydrographic Conference of 1919, where 24 nations agreed to create a permanent international body to coordinate national hydrographic offices. In 1970 the name was changed to International Hydrographic Organization (IHO); today it counts more than 100 member states. The IHO's primary mission is the standardization of nautical charts and navigation data so that a vessel flying any flag can safely transit any national waters using a unified data format.
The first version of S-57 (Edition 1) was published in 1992 as the replacement for paper charts during the migration to digital navigation systems. Edition 2.0 (1996) was ASCII-based, which proved inconvenient given the slow communication channels and limited onboard computer memory of the era. Edition 3.0 (1996) introduced the binary format based on ISO/IEC 8211, which remains the backbone of S-57 to this day.
The current definitive edition is S-57 Edition 3.1, published in November 2000. It introduced the new cells concept, a revised update-file mechanism based on unique object identifiers, and a more complete data model. After 2000 the standard was effectively "frozen" — the IHO decided that instead of incremental upgrades to the aging standard, it would develop a fully new framework based on modern model-driven architecture. That new framework is S-100 "IHO Universal Hydrographic Data Model", whose first edition was released in 2010. S-101, the direct ENC successor to S-57, builds on top of S-100. S-101 Edition 1.1.0 was published in April 2023, and S-100 Edition 5.2.0 in July 2024. Full migration of the commercial fleet from S-57 to S-101 is expected over 2026-2030, with mandatory parallel support of both formats in ECDIS during the transition.
Inside S-57: ISO 8211, cells, object catalogue
S-57 is a binary format based on ISO/IEC 8211 "Specification for a data descriptive file for information interchange." ISO 8211 is a generic data-encapsulation format published by ISO in 1985 for exchanging structured data between heterogeneous systems; S-57 uses it as a container for the hydrographic data model.
ENC file layout. A single logical chart is called a cell and is physically represented by a set of files:
- XXXXXXXX.000 — base file, a complete data snapshot at the moment of issue.
- XXXXXXXX.001, XXXXXXXX.002, ... — incremental update files, issued by the hydrographic office weekly as new information arrives (new buoys, dredged-depth changes, navigational warnings). ECDIS applies updates sequentially to the base file, reconstructing the current chart state.
- CATALOG.031 — index of all cells in a delivery package.
The eight-character filename encodes the producer code (first two characters — for example GB for UKHO, US for NOAA, RU for the Russian hydrographic office), the navigational purpose (one digit, from 1 = overview to 6 = berthing), and a unique chart number (five characters).
Cell hierarchy — six navigational purposes: Overview (1:1,500,000+, ocean-scale planning), General (coastal navigation), Coastal (approaches to coast), Approach (port approaches and narrow passages), Harbour (within port waters), Berthing (1:4,000 and larger, mooring to a specific berth). ECDIS automatically switches between cells of different purposes as scale changes, ensuring correct level of detail.
Object catalogue (Appendix A). The heart of S-57 is a catalogue of 159 feature object classes and 187 attributes, described in S-57 Appendix A Edition 3.1. Objects are split into geo objects (with geometry — points, lines, areas) and meta objects (describing other objects or the cell). Each object has a six-character acronym: - LNDARE (Land Area) — areas of dry land. - COALNE (Coastline) — the coastline itself. - DEPARE (Depth Area) — areas with a defined depth range. - DEPCNT (Depth Contour) — bathymetric contours. - SOUNDG (Sounding) — depth spot soundings (multi-point geometry). - LIGHTS — navigation lights (point objects with detailed attributes — sector, range, character, period). - BOYLAT / BOYCAR / BOYISD / BOYSAW / BOYSPP — buoys (lateral, cardinal, isolated danger, safe water, special purpose). - BCNLAT / BCNCAR / BCNISD — beacons (fixed marks). - WRECKS — sunken vessels and obstructions. - OBSTRN — navigation obstructions. - ACHARE — anchorage areas. - PIPSOL / CBLSUB — submarine pipelines and cables.
Display priorities (S-52). In parallel to S-57, IHO publishes the S-52 "Specifications for Chart Content and Display Aspects of ECDIS" standard, defining exactly how objects must be rendered on the ECDIS screen: colour palette (day/dusk/night themes), drawing priorities (hazardous objects always topmost), pattern symbols from the IHO Symbol Library, text labels. Without S-52 any S-57 chart is readable programmatically, but cannot be displayed uniformly across vendors; only the pairing of S-57 (data) and S-52 (presentation) gives the corporate "look" of nautical ENCs.
Use cases: ECDIS, SOLAS, recreational, port authorities
ECDIS on SOLAS vessels (the primary use case). In 2009 IMO Resolution MSC.282(86) amended SOLAS Chapter V "Safety of Navigation," making ECDIS mandatory carriage. Phased rollout ran from 1 July 2012 to 1 July 2018 by vessel type and tonnage: passenger ships of 500 GT and upwards, new tankers of 3,000 GT and upwards — immediate compliance for new builds from 2012, existing vessels — by the first survey after 2014-2018. Today virtually all commercial tonnage calling at international ports is equipped with ECDIS, and the overwhelming majority of ECDIS runs S-57 ENCs. ECDIS is required to use official ENCs from authorized hydrographic offices — private charts do not count as legally SOLAS-compliant.
Recreational navigation. Pleasure craft are not required to carry ECDIS, but millions of sailors use chart plotters from Garmin, Raymarine, Furuno, and B&G with S-57 support. Alternatively — open-source OpenCPN on a laptop/tablet with oeSENC charts from o-charts (encrypted derivatives of S-57, licensed from hydrographic offices). NOAA provides ENCs for US waters free of charge via the Office of Coast Survey downloads, making the US one of the most accessible regions for recreational electronic navigation.
Port authorities and pilotage. Port administrations of major harbours (Rotterdam, Singapore, Houston) produce their own harbour-purpose ENCs of very high detail for pilotage. Such ENCs include accurate post-dredging depth contours, current berth assignments, restricted areas, and locally specific rules.
Military application. Navies use S-57 ENCs augmented with classified Additional Military Layers (AML), described in STANAG 7170. AML adds milspec object types: minefield areas, exercise areas, classified depth surveys, restricted military zones. Structurally compatible with civilian S-57 readers, AML cells are encrypted and distributed only via NATO-accredited channels.

Software and tools: OpenCPN, CARIS, ECDIS hardware, GDAL
OpenCPN (open-source, GPL). The most popular free chart plotter for recreational use, natively reads S-57 ENCs. Supports the S-52 presentation library, allows quilting cells of different purposes, has sophisticated AIS integration. For commercial encrypted charts under the S-63 protection scheme — a separate oeSENC plugin from o-charts.org decodes encrypted SENC and feeds it into the OpenCPN render pipeline.
CARIS S-57 Composer. Professional editor from Teledyne CARIS, the de-facto industry standard for hydrographic offices producing ENCs. Supports the full workflow: import bathymetric surveys, geometric construction, attribute validation against the object catalogue, generation of update files, S-63 encryption for commercial distribution.
Esri Maritime / ArcGIS Pro. For agencies in the Esri ecosystem — an extension to ArcGIS Pro converting between GeoDatabase and S-57. Used by NOAA Coast Survey, UK Hydrographic Office, and the Canadian Hydrographic Service.
ECDIS hardware. Commercial ECDIS units are type-approved devices, certified by classification societies (DNV, Lloyd's, ABS) and national flag administrations. Leading vendors: Furuno (FEA-2107/2807, FMD-3200/3300, the flagship series across commercial fleets), Wärtsilä Voyage / Transas (Navi-Sailor 4000 ECDIS, after Wärtsilä acquired Transas in 2018), JRC Japan Radio Co. (JAN-7201/9201/2000), Sperry Marine (VisionMaster FT), Kongsberg (K-Bridge), Raytheon Anschütz (NautoSCAN/Synapsis). Type-approved ECDIS pricing — from roughly $15,000 to $40,000 per workstation, plus annual licensing on ENC datasets.
GDAL OGR S57 driver. The open-source GDAL library supports S-57 reading/writing through a native S57 driver, available since early GDAL versions. The driver registers each object class (LNDARE, COALNE, LIGHTS) as a separate OGR layer, which simplifies workflows from QGIS, Python (fiona, osgeo.ogr), Node.js (node-gdal). QGIS opens ENCs directly via an ogr:S57:filename.000 connection string, rendering objects with styling close to S-52 but not identical (for production navigation QGIS is unsuitable; for research/analysis it is excellent).
pyenc and other Python tools. The Python ecosystem for S-57 is relatively thin — pyenc (old, poorly maintained), s57-tools (community project), or directly GDAL via from osgeo import ogr; ds = ogr.Open('US5NY1AM.000'). For production-grade S-57 manipulation, commercial SDKs from CARIS or ESRI are usually unavoidable.
Commercial ENC sources and pricing. Paid ENCs are distributed through Regional ENC Coordinating centers (RENCs): IC-ENC (Taunton, UK) and PRIMAR (Stavanger, Norway) are the two main RENCs, coordinating distribution from dozens of national hydrographic offices. UKHO's Admiralty Vector Chart Service (AVCS) is the largest commercial provider; an annual subscription for a single vessel with global ENC coverage typically starts around $1,500-3,000 depending on regional coverage and fleet size. Free alternatives: NOAA ENC (US waters, public domain), OpenSeaMap (a crowdsourced OSM-derived project, not certified for navigation).
OSM2CDR integration: OSM → S-57 ENC features
On osm2cdr.ru s57_exporter.py generates a baseline S-57 ENC from OSM PostGIS data — for research, prototyping, GIS integration, and preview workflows, not for production navigation. Any navigation based on our export is illegal from the SOLAS perspective and dangerous — we are not an authorized hydrographic office, we don't conduct bathymetric surveys, we don't validate data currency, and we don't apply S-52 presentation correctly.
Conversion workflow. The exporter takes a bbox and a set of OSM-derived layers, mapping them to S-57 object classes via a static lookup table:
- OSM natural=coastline → COALNE (Coastline)
- OSM landuse=* and place=* polygons → LNDARE (Land Area)
- OSM man_made=lighthouse → LIGHTS (without attribute completion — period, sector, range remain defaults)
- OSM harbour=yes, landuse=harbour → HRBARE (Harbour Area), HRBFAC (Harbour Facility)
- OSM seamark:buoy_lateral=* (in the rare regions where seamark tagging is implemented) → BOYLAT with port/starboard category
- OSM waterway=river for large rivers → RIVERS linear features
- OSM building=* in coastal zones → BUILTUP (Built-up Area)
Technical pipeline. Inside _export_gdal() we use the GDAL S57 driver: we create a DataSource with extension .000, for each OSM layer — a corresponding OGR layer with the proper object class name, and transfer geometry through WKB. If the GDAL S-57 driver is not available in the runtime environment, we fall back to a simplified JSON envelope with object class annotations (this is not valid S-57, but allows inspection of the mapping for debugging).
What is NOT generated. A complete S-57 ENC must contain DEPARE (depth areas), SOUNDG (depth soundings), DEPCNT (depth contours), DRGARE (dredged areas) — all derived from bathymetric surveys, which OSM simply doesn't have. Without depth data, the ENC is technically valid but navigationally useless — just a coastline and POIs without any depth information. Also missing: correct attribute completion for lights (period, character, sector), coordinates validated against hydrographic-survey accuracy classes, and S-63 encryption for commercial distribution.
Limitations that cannot be fixed. OSM2CDR's S-57 export is a .000 base file without updates, without CATALOG.031, without a digital signature from an authorized hydrographic authority. Production ECDIS will refuse to load our export as an official chart (and rightly so — we should not be in the official ENC distribution chain). However, for GIS workflows, integration testing of software, education, and converting OSM data into an S-57-compatible form for further processing in CARIS S-57 Composer, our export is a practical baseline.

Related
- KML — Google Earth format for geospatial data
- GPX — exchange of GPS tracks and waypoints
- Garmin IMG — vector maps for Garmin GPS devices
- GeoPackage — OGC SQLite-based standard for vector and raster data
Conclusion
S-57 is a working compromise between the international maritime safety requirements of the 1990s (ECDIS on slow hardware, low bandwidth, ASCII-oriented systems) and the IHO's ambitions for a universal digital-hydrography standard. Despite being "frozen" since 2000, the format remains a daily workhorse of thousands of SOLAS-compliant vessels, and its successor S-101 on the S-100 base will coexist with S-57 until at least 2030 in real-world operation.
On osm2cdr.ru we provide a baseline S-57 export from OSM data for research, GIS integration, education, and preview workflows — but not for navigation. For real-world maritime navigation, use certified ENCs from authorized hydrographic offices (NOAA for US waters free of charge, UKHO AVCS commercial, or your national hydrographic service). Try the OSM-to-S-57 export for research purposes and open the result in OpenCPN or QGIS with the GDAL S57 driver for inspection.
Sources
- IHO S-57 Standards in Force — iho.int/en/s-57-standards-in-force
- IHO S-57 Appendix A Object Catalogue Edition 3.1 — iho.int/uploads/user/pubs/standards/s-57/31ApAch1.pdf
- IHO S-100 Implementation Strategy — iho.int/en/s-100-implementation-strategy
- GDAL IHO S-57 driver — gdal.org/en/stable/drivers/vector/s57.html
- IHO history — en.wikipedia.org/wiki/International_Hydrographic_Organization
- IMO MSC.282(86) ECDIS mandatory carriage amendments — SOLAS V/19.2.10