CARTO Basemaps
Basemaps to power your applications
Raster tiles for Leaflet and any tile client, vector tiles for MapLibre and deck.gl. Three styles on OpenStreetMap data, served from a global CDN, free up to 5 million requests a month.
Voyager
Positron
Dark Matter
© OpenStreetMap contributors, © CARTOTwo formats, one key
PNG tiles for Leaflet, OpenLayers or anything that takes a {z}/{x}/{y} URL, and a MapLibre style.json for MapLibre GL JS and deck.gl. The same key covers both.
Fast everywhere
Every tile is cached at the edge of a global CDN, so your map loads from the nearest point of presence, not from our servers.
Free for most maps
Up to 5 million requests a month for non-commercial use, 1 million for commercial use, then plans from $500 a month. Basemaps are included in every CARTO plan.
Three styles, with and without labels. Or your own.
Voyager for a map people read, Positron and Dark Matter as quiet backgrounds for your own data, each also without labels. And with vector tiles, a fourth option: start from any of ours and make the map yours.

https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json?key=YOUR_KEYhttps://basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png?key=YOUR_KEYRaster: PNG tiles
256 px tiles, retina with @2x, zoom 0 to 20. Seven variants: with labels, without, and Voyager with labels under your data.
Vector: a MapLibre style, yours to edit
One style.json per style: sharp at any zoom, rotatable. Start from any of them and change the colours, the fonts, what shows at each zoom; host the file where you like and point MapLibre or deck.gl at it. Same tiles, same key. The styles are open source on GitHub, and an editor like Maputnik opens them directly.
Everything you need to ship a map
A key, the tiles in every style, and a dashboard to watch them. Restrict where the key works, keep the attribution, and you are done.
A key in a minute
Request it with an e-mail address on this site. It arrives by e-mail and works right away. No account, no card.
Your usage, per key
The dashboard shows requests this month for every key and for the account, updated hourly from the CDN logs.
Restrict where it works
Lock a key to your websites, your iOS and Android apps, or your server IPs, so nobody else runs up your count.
OpenStreetMap data
Cartography by CARTO on OpenStreetMap. One line of attribution on the map, © OpenStreetMap contributors, © CARTO, is all we ask.
Readable by AI assistants
The offer, URLs and terms as JSON at dashboard.basemaps.carto.com/v1/plans, so the assistant writing your map code gets it right.
Included with CARTO
Every CARTO plan includes the basemaps, whatever you build with them. If you are a customer, there is nothing to buy and no quota to watch.
A map in three lines
Add ?key= to the URL you already use and keep the attribution. That is the whole integration, whichever library you are on.
- 1Request the key on this site with your e-mail. It arrives in a minute.
- 2Pick a style and paste its URL into Leaflet, MapLibre or deck.gl.
- 3Keep the attribution visible: © OpenStreetMap contributors, © CARTO.
// Raster tiles const map = L.map('map').setView([41.39, 2.17], 12) L.tileLayer('https://basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png?key=YOUR_KEY', { attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, ' + '© <a href="https://carto.com/attribution/">CARTO</a>', maxZoom: 20 }).addTo(map)
// Vector tiles const map = new maplibregl.Map({ container: 'map', style: 'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json?key=YOUR_KEY', center: [2.17, 41.39], zoom: 12 })
// The basemap constants live in @deck.gl/carto import { BASEMAP } from '@deck.gl/carto' const map = new maplibregl.Map({ container: 'map', style: `${BASEMAP.VOYAGER}?key=YOUR_KEY`, center: [2.17, 41.39], zoom: 12 }) map.addControl(new MapboxOverlay({ layers: [ /* your layers */ ] }))
Free for most maps. Two plans for the rest.
Tile requests are counted per calendar month (UTC) across all the keys of your account. Nothing changes at the edge when you upgrade: same key, same URLs.
Up to 5M requests a month. Personal projects, research, teaching, non-profits.
Up to 1M requests a month for a business, with the same key.
Or $5,000 a year. Up to 10M requests a month. By card from your dashboard, cancel any time.
Or $15,000 a year. Up to 50M requests a month. Same key, same dashboard, same terms.
In every CARTO plan. Nothing to buy, no quota to watch.
Plus applicable taxes. Keys registered before 23 September 2026 and used commercially keep working as they are until 30 November 2026. More than 50M a month, or something custom? Talk to us. Details on the API key page and in the Basemaps terms.
Your data on top of it
The basemap is the background. What you draw on it is where we spend most of our time.
Data in a warehouse? The CARTO platform.
Visualize and analyze tables in BigQuery, Snowflake, Databricks, Redshift or PostgreSQL without moving them. Maps, dashboards, spatial SQL and AI agents, with these basemaps included.
Building with deck.gl? So are we.
CARTO engineers are core contributors to deck.gl and maintain @deck.gl/carto: the basemap constants, plus layers that read millions of rows straight from your warehouse.
Get your API key in a minute
No account, no card. Free up to 5 million requests a month for non-commercial use and 1 million for commercial use. Already a CARTO customer? Basemaps are included in your plan.
