Add marine charts to your web or mobile app with a single style URL. Depths, navigation aids, hazards, and ports — all rendered by MapLibre.
Compatible with MapLibre GL JS, iOS, Android, and Mapbox GL JS.
No credit card required · Cancel anytime
MarineCharts serves a complete MapLibre style. Point your map at your style URL and you're done — no tile configuration, no layer setup, no style authoring.
Your 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 when you sign up. Copy your style URL from the dashboard.
Pass the style URL to your MapLibre map. Web, iOS, and Android all use the same URL.
The same 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))
}
Built from official NOAA ENC data, updated regularly, and optimised for vector rendering.
Depths & soundings
Accurate depth contours and point soundings across US coastal and inland waters
Navigation aids
Buoys, lights, beacons, and day marks with their characteristics
Hazards & obstructions
Rocks, wrecks, shoals, and underwater obstructions
Port & harbour data
Marinas, anchorages, dock facilities, and restricted areas
Traffic separation schemes
Shipping lanes, precautionary areas, and separation zones
Tidal & current data
Tidal flats, current stations, and water boundaries
Any library or SDK that accepts a MapLibre style URL will work with MarineCharts.
MapLibre GL JS
MapLibre iOS
MapLibre Android
Mapbox GL JS
Common questions about the MarineCharts nautical chart API.
A nautical chart API delivers official maritime chart data — depths, navigation aids, hazards, and port information — as vector tiles or a complete map style that developers can embed in web and mobile apps. MarineCharts provides a single MapLibre-compatible style URL that renders a fully-featured nautical chart with one line of code.
The MarineCharts nautical chart API includes depth areas with colour grading, individual depth soundings, depth contour lines, navigation aids (buoys, beacons, lights), hazards and obstructions (rocks, wrecks, shoals), port and anchorage data, traffic separation schemes, and coastlines. All data comes from official NOAA Electronic Navigational Chart (ENC) sources.
Sign up for a MarineCharts account to get an API token. Then pass your style URL directly to a MapLibre or Mapbox map initializer. The same URL works on web, iOS, and Android. No tile configuration or layer setup is required.
Nautical charts and marine maps refer to the same underlying data — official maritime chart information covering depths, navigation aids, and hazards. "Nautical chart" is the technical maritime term; "marine map" is the common developer term. The MarineCharts API serves identical data regardless of which term you use.
14-day free trial on every plan. No credit card required.
14-day free trial. Full access. No credit card required.