Choropleth Map Maker (Free Image Generator)

Choropleth Map Maker (Free Image Generator)

Hand a choropleth map maker a list of region values and it paints a shaded map. Each region gets a value, the map colors it on a scale, and you download a PNG or SVG. It answers the "where" question in a report or dashboard: sales by country, users by state, growth by region.

What a choropleth map showsWhat a choropleth map shows

A choropleth shades each region by a value, so darker or more saturated means more. The eye reads the pattern before it reads any number, which is the whole point. One glance tells you the US and Germany are your big markets, or that growth is clustered in a few states.

The data model is small. Each region is one row:

  • id: which region. For a world map, an ISO-3166 code like US or FR, or the country name. Common names like Russia and UK work too.
  • value: the number to shade by. Sales, users, a survey score, a percentage, anything.

Regions you don't include stay neutral, so a partial dataset is fine. You bring the values, the map already knows the shapes.

Two coloring styles cover most needs. A ramp shades in a single hue from light to dark, good for totals. A diverging scale colors positive and negative apart from a neutral middle, built for growth, change, or a vote margin.

Make one freeMake one free

Open the map playground. Add a row per region as an id and a value, pick a basemap, choose a ramp or diverging color scale, and download the map. Export a PNG for emails and docs, or an SVG when you want it crisp at any size.

The playground is indifferent to what the numbers are. Dollars, signups, percentages, doesn't matter. A region and a value gets you a shaded map. And shading isn't the only option: switch the mode to draw a bubble map sized by value, color regions by category, or turn on value labels.

Pick a country or a whole regionPick a country or a whole region

The world basemap covers every country, but plenty of reports zoom in on one place. There are seven basemaps in all: the world, US states, and province or state maps for Canada, Germany, Australia, Brazil, and India. Each keys the same way, by the local region code, the ISO-3166-2 form, or the region name.

If you know you're mapping one country, the dedicated makers skip straight to it:

Each one is the same tool pinned to that country, so you get the right regions and sample data without touching the basemap picker.

Embed it anywhereEmbed it anywhere

A map image embeds like any other image. One line of markdown or HTML and it renders inline:

<img
  src="https://your-render-url"
  alt="Sales by country choropleth map"
  width="800"
/>

Here's what makes it worthwhile. Point at a render URL instead of a saved file and the map redraws whenever it loads. Push this month's numbers and the same URL returns an updated map. The doc stays as is, and no one re-exports it. A "sales by country" panel in a dashboard or a weekly email refreshes itself.

Save a static file when you want a fixed snapshot, like a map pinned to a quarter in a report. Use a render URL when the picture should follow new data.

Generate at scaleGenerate at scale

One map by hand is easy. One per customer, or one every morning, is where the API earns its keep.

Because the map is API-native, it's a component you configure once and render on demand. One call takes your list of region values and returns the image. A few ways people wire it up:

  • On a schedule: a cron job pulls the latest figures, hits the render URL, and drops the map into a morning report.
  • Per request: your app renders a map on the fly for whatever region breakdown a user asks for.
  • Through an AI agent over MCP: the agent gathers the data and calls the render itself, with no plumbing on your side.

Working examples live in the API docs, ready to copy, so you're not guessing the request. Draw the map once, then keep the data coming.

Start making mapsStart making maps

Region values in, a shaded map out.

The free plan covers 100 renders a month, enough to stand up a live "by country" or "by state" panel and watch it update before you upgrade.

Frequently Asked Questions

Open the map playground, add a row per region as an id and a value (for example US and 920), pick your colors, and download the map as a PNG or SVG. Each region is shaded by its value, and regions you leave out stay neutral. No design tool needed, just the numbers you already have.

A list of regions, each with an id and a value. For a world map the id is an ISO-3166 country code like US or FR, or the country name. For a US map it's a state code like CA or the state name. The value is any number you want to shade by, such as sales, users, or a percentage.

Yes. Set the basemap to US states and key your data by postal code (CA), ISO-3166-2 (US-CA), or state name. All 50 states plus DC are covered, drawn in Albers-USA with Alaska and Hawaii as insets, so it looks right with no setup.

Yes. There are seven basemaps: the world, US states, and province or state maps for Canada, Germany, Australia, Brazil, and India. Each has its own dedicated generator, or you can switch the basemap in the playground and key your data by region code or name.

Yes. Map is an API component, so one render call turns a list of region values into an image. Feed it from a script, a scheduled job, or an AI agent, and the same template covers every dataset without opening a design tool.