Add nautical charts and marine maps to your sailing, boating, or maritime app with a single style URL. Depths, sea marks, navigation aids, hazards, and ports — rendered instantly by MapLibre.
Compatible with MapLibre GL JS, iOS, Android, and Mapbox GL JS.
No credit card required · Cancel anytime
Live marine map demo
Live nautical chart data — depths, buoys, lights, and hazards from NOAA ENC sources
MarineCharts serves a complete MapLibre style — sources, all nautical layers, and depth colouring. Point your map at your style URL and your marine maps are live.
Your marine maps style URL
https://marinecharts.io/api/style?token=YOUR_API_TOKEN
Create a free account and start your 14-day trial. No credit card required.
Your token is generated automatically. Copy your marine maps style URL from the dashboard.
Pass the style URL to your MapLibre map. Web, iOS, and Android all use the same URL.
The same marine maps style URL works across every MapLibre-compatible platform.
import maplibregl from 'maplibre-gl';
import 'maplibre-gl/dist/maplibre-gl.css';
const map = new maplibregl.Map({
container: 'map',
style: 'https://marinecharts.io/api/style?token=YOUR_API_TOKEN',
center: [-122.4, 37.8],
zoom: 12
});
import MapLibre
let styleURL = URL(string: "https://marinecharts.io/api/style?token=YOUR_API_TOKEN")!
let map = MLNMapView(frame: view.bounds)
map.styleURL = styleURL
view.addSubview(map)
val mapView = MapView(context)
val styleUrl = "https://marinecharts.io/api/style?token=YOUR_API_TOKEN"
mapView.getMapAsync { map ->
map.setStyle(Style.Builder().fromUri(styleUrl))
}
Everything you need to build a production marine maps integration.
One URL delivers your complete marine map — sources, nautical layers, and depth colouring pre-configured. No tile configuration, no layer setup.
Works with MapLibre GL JS, MapLibre iOS, MapLibre Android, and Mapbox GL JS. Any library that accepts a style URL will render your marine maps.
All nautical chart data is derived from NOAA Electronic Navigational Charts (ENC), the authoritative source for US coastal and inland waters.
Marine chart data is updated from NOAA source files on a regular cadence, so depths and navigation aids reflect current conditions.
Served as vector tiles over a global CDN. Fast load times and smooth rendering at any zoom level, on any device.
Fetch the style JSON, modify colours, hide layers, or overlay your own data on top. Full control without losing the nautical chart foundation.
Built from official NOAA ENC data, the marine maps API covers everything a navigator needs.
Depth areas & soundings
Colour-graded depth areas and point soundings across US coastal and inland waters
Depth contour lines
Precise depth contours giving a clear picture of the seafloor gradient
Navigation aids
Buoys, lights, beacons, and day marks rendered with correct icons and characteristics
Hazards & obstructions
Rocks, wrecks, shoals, and underwater obstructions highlighted for safe navigation
Port & harbour data
Marinas, anchorages, dock facilities, and restricted areas
Traffic separation schemes
Shipping lanes, precautionary areas, and separation zones
Coastlines & land areas
Accurate coastline geometry and land fill rendered at all zoom levels
Anchorage & dredged areas
Designated anchorage zones and dredged channel extents
Explore all layers in detail with the Vector Tile Inspector or read the full schema in the API documentation.
Any library or SDK that accepts a MapLibre style URL will render your marine maps without modification.
MapLibre GL JS
MapLibre iOS
MapLibre Android
Mapbox GL JS
Common questions about the MarineCharts marine maps API.
A marine maps API provides nautical chart data — depths, navigation aids, hazards, and sea marks — as vector tiles or map styles that developers can embed in web and mobile apps. MarineCharts delivers a complete MapLibre-compatible style URL, so you can add a fully-featured marine map with a single line of code.
The MarineCharts marine maps API includes depth areas and soundings, depth contour lines, navigation aids (buoys, beacons, lights), hazards and obstructions (rocks, wrecks, shoals), port and marina data, traffic separation schemes, anchorage areas, and coastlines. All data is derived from official NOAA ENC (Electronic Navigational Chart) sources.
The marine maps API is compatible with MapLibre GL JS, MapLibre iOS, MapLibre Android, and Mapbox GL JS. Any library that accepts a MapLibre-compatible style URL will work.
Sign up for a MarineCharts account, copy your style URL from the dashboard, and pass it to your MapLibre or Mapbox map initializer. The entire marine maps integration is one URL — no tile configuration or layer setup required. Works on web, iOS, and Android.
Yes — the MarineCharts marine maps API and the nautical chart API refer to the same product. "Marine maps" is the common developer term; "nautical charts" is the technical maritime term. Both give you the same NOAA-sourced depth and navigation data via a single MapLibre style URL.
14-day free trial on every plan. No credit card required.
14-day free trial. Full access. No credit card required.