Custom map design
A map that looks like your product
Open ten sites with maps and you see the same map ten times: someone else's palette, someone else's brand baked into every tile. We design a basemap that belongs to you, and we tune it at every zoom level until it holds together.
Included above one million map loads a month
On the Scale and Enterprise plans, our team designs your brand style at no extra cost. On smaller plans it is available as a one-off engagement.
Neither Google Maps nor Mapbox will design a style for your brand. We will.
Why a stock basemap costs you more than it saves
The map is the loudest element on the page
A basemap fills more pixels than any other component. If its palette fights your interface, the whole product feels borrowed. Users cannot name the problem, but they feel it.
Default styles are designed for everyone, so for no one
A stock style has to serve a delivery app, a hiking site and a bank at the same time. It hedges. Your map has one job, and a style built for that job reads faster.
Contrast is a product decision, not a taste decision
If your markers, routes and heatmaps sit on a busy base, the data loses. A quiet base is not a pretty choice, it is what makes your own layer legible.
Your competitors ship the same rectangle
Every product in your category is using the same three providers. A map that carries your palette is the cheapest visual differentiator you can buy.
How we approach a style
These are the three rules we apply on every style we build, learned the hard way across thirteen of them.
Start from a ramp, not from single colors
We pick the neutral ramp first: background, land, buildings, road casings. Then one accent family carries the brand. If every feature gets its own hue, the map turns into noise and nothing reads.
Respect label contrast
City and road labels must stay readable over every surface they cross. We test label colors against parks, water and dense building blocks, not just against the background where they always look fine.
Sweep every zoom level
A style that looks great at zoom 12 can fall apart at zoom 5 where landcover dominates, and again at zoom 16 where buildings take over. We review the whole range before anything ships.
Case study: Piri Reis
Live OpenStreetMap data, rendered as a chart from the age of exploration.
Drag and zoom. Every line is drawn live from vector tiles.
This is the same planet data that draws our minimal light style. What changed is the style, and it changed enough that people ask whether it is a scanned map. There is no image here: every coastline, every label, every rhumb line is drawn in the browser from vector tiles.
Open the live styleA monochrome sepia base
We dropped the palette down to aged parchment and ink. Water and land share a single warm tone, the way portolan charts did, so the eye reads the coastline instead of the fill.
An ink coastline layer
We added a dedicated line layer that traces the water boundary in dark brown, thickening as you zoom in. That single layer is what makes it read as a drawn chart rather than a tinted map.
Paper, compass and cartouche
Aged paper texture, two compass roses and rhumb lines sit above the canvas, masked so they are strong at the edges and nearly invisible in the middle. The map stays legible where you actually read it.
How the work runs
Brand and product audit
We look at your palette, your interface, and what the map has to do: locate a store, show a route, carry a heatmap. The job decides the style, not the mood board.
Palette and first pass
We build the neutral ramp and the accent family, then generate a first full basemap. You see a real map at real zoom levels within days, not a static mockup.
Zoom sweep and revisions
We review zoom 3 through 16, fix label collisions and contrast failures, and iterate with you. Two rounds of revision are included.
Ship, host and keep fresh
We publish the style on our edge, licence your domain and hand you the embed code. Map data is refreshed monthly and your style follows it automatically.
What you get
- A production style JSON, served from the Cloudflare edge
- Light and dark variants of the same brand palette
- A no-labels variant for drawing your own annotations on top
- A labels-only transparent overlay to stack above your data layers
- Localized place names, for example Turkish labels
- The source flavor file, so the style can be regenerated and evolved
- Embed code and a MapLibre GL snippet for your team
What a custom style will not do
We would rather tell you this now than in the first demo. A style controls how the map is drawn. It does not change what is in the data.
It does not add turn by turn directions
Routing is a separate engine with its own traffic data. We link out to Google Maps for directions, and we say so in the code we ship you.
It does not add a business listings database
Place names and points of interest come from OpenStreetMap. Coverage is excellent in cities and thin in some rural areas. If you need your own points, we render your data on top.
It does not remove the attribution
OpenStreetMap data is licensed under ODbL and attribution is mandatory. The credit in the corner stays, and we do not offer a way to hide it.
Frequently asked questions
How long does a custom style take?+
Two to three weeks from the first call to a style running on your domain. Most of that time is the zoom sweep and revisions, because that is where a style is actually won or lost.
Do we own the style?+
You get the style JSON and the source flavor file, and you can host them anywhere. The map data itself stays under the OpenStreetMap licence, so attribution travels with it.
Can you match an existing design system?+
Yes, that is the usual case. Give us your palette tokens and we build the neutral ramp from them, then check contrast at every zoom rather than trusting the tokens to just work on a map.
What if we are on a smaller plan?+
A custom style is available as a one-off engagement on the Starter and Growth plans. Above one million map loads a month it is included in the plan.
1,000,000+
Let us design your map
Tell us your domain and what the map has to do. We reply within one business day, and the first call is a design conversation, not a sales call.
Request a design call