Map Image Export
Save any map area as one large, sharp PNG or JPEG, with your own markers, labels and a metric scale bar.
- Base maps
- Google, Esri, OpenStreetMap or your own XYZ
- Output
- PNG or JPEG up to 64 MP
- Points
- Click, paste or
.geojson - Runs in
- This browser tab
Loading map…
How it works
The image is built from the same tiles the map shows, fetched again at the detail level you choose.
Frame the area
Pick a base map, then export what the map shows, or type an extent as west, south, east and north in degrees. The extent appears as a dashed frame on the map.
Fetch tiles at full detail
Choose a detail level; the list shows the image size for each. The tool fetches that level’s tiles from the server and stitches them edge to edge. Nothing is upscaled: every pixel is the server’s own.
Draw your points on top
Markers, labels, a metric scale bar and the provider’s attribution are drawn over the tiles, scaled with the image: three levels deeper than the view, a 24 px marker becomes 192 px. The image looks like the screen, only sharper.
Detail levels
Each level deeper halves the ground a pixel covers; away from the equator, Web Mercator shrinks it further.
| Level | Pixel at the equator | Pixel at 55° N | 1 km at 55° N | 1 × 1 km image |
|---|---|---|---|---|
| 14 | 9.6 m | 5.5 m | 182 px | 0.033 MP |
| 15 | 4.8 m | 2.7 m | 365 px | 0.13 MP |
| 16 | 2.4 m | 1.4 m | 730 px | 0.53 MP |
| 17 | 1.2 m | 69 cm | 1,460 px | 2.1 MP |
| 18 | 60 cm | 34 cm | 2,920 px | 8.5 MP |
| 19 | 30 cm | 17 cm | 5,839 px | 34 MP |
| 20 | 15 cm | 8.6 cm | 11,678 px | 136 MP |
Google satellite goes to level 20, but a 1 km square at 55° N (Moscow, Copenhagen) is 136 MP there, over the 64 MP limit. For that square the tool picks level 19 on a desktop (highlighted) and level 18 on a phone.
One pixel covers 40,075,016.686 m × cos(latitude) ÷ (256 × 2level). That is its size on the ground, not the sharpness of the photo, which depends on the imagery the provider has for the place.
Limits
What a browser and the tile servers allow, so you know before you frame a whole city at level 20.
| Image size | Up to 64 MP and 16,384 px a side. On phones 16.7 MP, because iOS Safari refuses larger canvases. The detail list shows which levels fit. |
|---|---|
| Tiles | Up to 1,500 per export. OpenStreetMap and OpenTopoMap: 250, because their usage policies forbid bulk downloads. |
| Deepest level | 20 for Google satellite, Google hybrid and Google map; 19 for Esri World Imagery and OpenStreetMap; 17 for OpenTopoMap. |
| Imagery | Coverage, date and sharpness vary by place. At the deepest levels some areas have no imagery, and the server returns blank or “no data” tiles. Tiles that fail to load are left blank and counted. |
| Custom tiles | An https:// XYZ template with {x}, {y} and{z}, optionally {s} and {-y}. The server must allow cross-origin requests (CORS), or its tiles won’t load. |
| Scale bar | Metric only, and true at the image’s middle latitude. Web Mercator stretches distances away from the equator, so for tall areas the tool says how far the scale drifts at the edges. |
| Projection | Web Mercator, like the tiles. The map ends at 85.05° north and south. |
| Points | Up to 2,000, kept in this browser between visits. Type coordinates latitude first: 55.7558, 37.6173, 55,7558; 37,6173 or 55°45′21″N 37°37′04″E. |
| Encoding | A large PNG can take tens of seconds to encode and hundreds of megabytes of memory. JPEG files are much smaller. |
| Terms | Tiles belong to their providers. Keep the attribution, and check the provider’s terms before you publish an image. |
Questions
Is anything uploaded?
No. Your points, labels and files stay in this browser, and points are kept in its local storage for your next visit. The image is built on your device. The tile server you pick does see which tiles you request, and so the area you look at, and your IP address, as with any web map.
Can I use Google imagery in my publication?
The tiles belong to their providers, and this tool gives you no rights to them. Google’s and Esri’s terms restrict use of their imagery outside their own APIs and products, so check the terms, and ask the provider if you need to, before you publish. OpenStreetMap data is open under the ODbL, and OpenTopoMap’s style is CC BY-SA; both require attribution. Whichever you use, keep the attribution the tool draws in the corner.
Why is the best level lower than the layer’s maximum?
Each level deeper doubles the width and height, so the image grows fourfold. The tool picks the deepest level that fits:64 MP and 16,384 px a side on a desktop, 16.7 MP on a phone, and1,500 tiles (250 for OpenStreetMap and OpenTopoMap). For more detail, export a smaller area, or the area in parts.
Which GeoJSON is accepted?
A .geojson or .json file with Point and MultiPoint features, in longitude, latitude order on WGS 84 as RFC 7946 requires; a file that declares another coordinate system is refused. Lines and polygons are skipped and counted. Labels come fromname, title or label, styles from marker-color, marker-size (pixels, or small, medium, large) and this tool’s own marker-shape and marker-fill. Up to 2,000 points. Saving your points as GeoJSON writes the same properties, so their styles come back on import.
How accurate is the scale bar?
It is true at the image’s middle latitude. Web Mercator enlarges distances by 1 / cos(latitude), so the scale changes from top to bottom: for an image from 50° to 60° N, the scale at its northern edge is 14% larger than in the middle. For tall areas the tool warns you how far the scale drifts at the edges.
More tools in Maps.