Thematic Map

Choropleth Map Maker: Create a Thematic Map from Excel

Paste your table or choose an Excel file and join it to boundaries by name or code. Adjust classes, colors and text, then download the map as publication-quality PNG or SVG.

1 Boundary layer

Export

PNG and SVG are publication quality; the HTML file is a static map with no external links that you can embed in another page.

2 Data table

3 Join

Keys are selected automatically. You can use names, codes or any other identifier; for districts with the same name, use the province column as a second key.

4 Appearance

Classification
Color
Text and legend

Data and privacy

Your table and boundary file are processed in your browser; their content is not sent to any server. Built-in Türkiye boundaries are downloaded from this site and the libraries from jsDelivr; these requests do not contain your table data. Built-in boundaries are © OpenStreetMap contributors, licensed under ODbL 1.0.

Related Tools

A thematic map from your spreadsheet

A thematic map shows how a topic such as population density, sales, applications or a rate is distributed across space. On a choropleth map, the most common kind, each administrative unit is filled with the color of the class its value falls into. This tool joins an Excel or CSV table to boundaries and turns it into a map ready for a report or a web page within minutes. Province and district boundaries of Türkiye are built in; for any other country, region or your own service areas you can load a GeoJSON, Shapefile or KML boundary file.

How to use it

  1. Choose the boundary layer: Türkiye provinces, Türkiye districts or your own file.
  2. Copy the table from Excel and paste it, or choose an .xlsx, .xls or .csv file. The first row must contain the column headers.
  3. The tool picks the key column and the value column automatically. The matching report shows the match rate and the rows that did not match; you can fix them by choosing the right boundary from the suggestions or the full list.
  4. Choose the classification method, the number of classes and the palette, then write the title, subtitle, source note and legend title.
  5. Download the map as PNG, SVG or embeddable HTML, and the joined data as GeoJSON, Shapefile or CSV.

Name matching

The same region is often written in different ways across spreadsheets. Before comparing, the tool converts names to lower case, removes accents, spaces and punctuation, and drops words such as "Province", "District" or "Region". Numeric codes match regardless of leading zeros. For the remaining rows it suggests candidates ranked by Jaro-Winkler similarity; only a clear best candidate is accepted automatically, and those rows are listed separately so you can check them. When several districts share the same name, add the province column as a second key.

Classification methods

The value distribution chart draws the class breaks on a histogram, so you can see how many units fall into each class as you change the method.

Totals or rates

Totals such as population or total sales are usually misleading on a choropleth map because large or populous units come out high anyway. For comparison, divide the value by area to show density (per km²) or by another column to show a rate (per 100, 1,000 or 100,000). Area is computed from the true size of each boundary on the WGS84 ellipsoid. The default projection is Albers equal-area, which keeps the size of each unit on the map proportional to its real area.

Data and method

The Türkiye province and district boundaries are derived from OpenStreetMap data (© OpenStreetMap contributors, ODbL 1.0); a source line is added automatically to maps that use them. The same boundaries can be downloaded as Shapefile, GeoJSON, KML and DXF from the Turkey administrative boundaries page. Color palettes come from Cynthia Brewer's ColorBrewer (Apache 2.0) and the viridis family. Projections are computed with proj4js 2.9.0 (MIT), ellipsoidal area with GeographicLib geodesic 2.1.1 (MIT), Excel files are read with SheetJS xlsx 0.18.5 (Apache 2.0), CSV with PapaParse 5.4.1 (MIT), shapefiles with shpjs 6.1.0 (MIT) and JSZip 3.10.1 (MIT), and KML with @tmcw/togeojson 5.8.0 (BSD-2-Clause). Matching, classification, SVG rendering and the shapefile writer are this page's own code.

Accuracy limits

Rodosto Teknoloji builds dashboards and web mapping solutions that keep such data up to date for organizations. You can learn more on the Rodosto Teknoloji website or reach us through the contact page.

Frequently Asked Questions

How are the names in my spreadsheet matched to the map?

Before comparing, the tool brings names to a common form: it ignores letter case, accents, spaces and punctuation, and drops words such as "Province" or "District". Codes match directly, so 1 and 01 are treated as the same. For the rows that remain, similar names are suggested and you can pick the right boundary from a list.

Which classification method should I choose?

Quantile puts roughly the same number of units in each class and highlights ranking. Natural breaks (Jenks) splits where values cluster naturally. Equal interval divides the value range into equal parts and can put most units into one class when there are outliers. For maps that will be compared with each other, use the same manual breaks.

Can I color totals such as population directly?

Technically yes, but on a choropleth map totals favor large or populous units. For comparison, divide the value by area to show density (per km²) or by another column to show a rate (for example per 1,000 people). Area is computed on the WGS84 ellipsoid.

Do the PNG and SVG files have a watermark?

No, there is no watermark. When you use the built-in Türkiye boundaries, a source line for the boundary data is added below the map as required by the OpenStreetMap license; it is not added for your own boundary files.

Is my table sent to a server?

No. Reading the table, matching, classifying and drawing all happen in your browser. Only the built-in boundary files are downloaded from this site and the libraries from a CDN; these requests do not contain your table data.