Supported data formats and limits

This article is about Google Maps Engine. If you're a Google Maps Engine Lite or Pro user, view Maps Engine Lite and Pro help instead.

This article describes supported formats and limits for source data that's uploaded to Google Maps Engine. It also describes maximum limits, if any, for features uploaded and displayed in Google Maps Engine. The Google Maps Engine API has different limits. See the Google Maps Engine API documentation for these limits.

If you've signed up online for a free Google Maps Engine trial account, the limits are lower. See Online signup for a free trial account.

This article contains the following sections:

Limits for Google Maps Engine features


Layers in a map 100
Simultaneously visible layers in a 2D map Maps API and clients built on the API (including Google's 2D map viewer) limit the number of simultaneously visible layers to 15. This number includes layers inside folders.
Simultaneously visible layers in a 3D map (globe) Maps Engine does not limit the number of layers. However, clients can display only a limited number of layers while providing a good user experience. In Google Earth, that limit is usually five or six.
Number of terrain layers in a map 1
Vector data sources in a layer 1
Imagery data sources in a layer 200,000
KML data sources in a layer 1
Display rules in a layer 200

Folders for layers

Folders in a map 10
Number of layers in a folder There is no limit to the number of layers in a folder. However, only 15 vector layers can be concurrently viewed in a map. Therefore, if a folder is locked such that all the layers in it must be displayed together, it must have 15 or fewer. If it has more than 15, none will be viewable.
Size of a folder No limit
Number of nested folders allowed 2
Number of folders to which a layer can be added No limit


Images in a mosaic 200,000
Total size of an imagery mosaic 500 GB uncompressed. Each image in the mosaic must comply with the limitations documented in Image Files: Supported Formats and Limits.

Asset names and descriptions

Number of characters 128
Permitted characters Characters in one of the following encodings: UTF-8, CP1251, ISO 8859-1, Shift_JIS. Must match source encoding specified in the Upload dialog.
Number of characters 1024
Permitted characters Characters in one of the following encodings: UTF-8, CP1251, ISO 8859-1, Shift_JIS. Must match source encoding specified in the Upload dialog.


Number of characters 50
Permitted characters Any characters in the UTF-8 character set
Tags per asset 25
Tags per account 5,000


Number of characters 256
Permitted characters Any


Custom icons

Custom icons in a layer 24
Image size 32 x 32 pixels or smaller
File size Less than 100,000 bytes
Format .png, .gif, or .bmp
Color model RGB or RGBA


Vector files: supported formats and limits

Vector source files can be in one of these formats:

File Extension Type Details
.shp ESRI shapefiles The .shp file must have an associated .shx and .dbf file. Optional files of type .prj and .shp.xml are supported.
.csv Comma-separated data files A .csv file can have an associated .vrt file to further define the type of the fields. See CSV files.
.kml or .kmz KML files See KML Files: Upload Behavior.
.tab MapInfo TAB files A .tab file must have associated .dat, .id, and .map files. Optional files of type .ind are supported.

Size and feature limits

The following table lists maximum sizes related to upload and display of vector source files using the Google Maps Engine user interface. This table contains limits that are guaranteed to be supported by the Google Service Level Agreement (SLA). Google Maps Engine may permit upload of datasets larger than these limits, but larger values are not covered by the SLA and are deemed “experimental.” Experimental limits may increase over time.

The Google Maps Engine API has different limits. See the Google Maps Engine API documentation for these limits.

*Lower limits apply for free, single-project trial accounts.
Size of a vector source file 1 GB
Number of features 5,000,000 *
Number of attributes 550
Length of an attribute name 64 characters
Length of an attribute value 4000 characters
Vertices per feature 100,000
Total number of vertices for all features 15,000,000
Total number of addresses to be geocoded 100,000

Character encoding

The text for attributes in a vector data source can be encoded in UTF-8, Shift-JIS, or ISO-8859-1 representation. Maps Engine converts all text to UTF-8 encoding during ingestion processing.

If there’s a discrepancy between the encoding type that you indicate at upload and the content of the file, a high “Bad feature” count appears on the Data details page for the data source. You can create layers and then maps from the data source, but features will be missing.


Vectors are projected to WGS84 (EPSG 4326) for Google Earth and Mercator (EPSG 3857) for Google Maps.

Geometry types

For shapefiles and CSV files, the supported geometries are points and multi-points, lines and multi-lines, and polygons and multi-polygons.

For KML files, the geometry can be a single <Point>, <LineString>, or <Polygon>, or multiple of those geometries as contained in a <MultiGeometry> element. The first <Geometry> element in the file defines the geometry type for the rest of the file.

Supported styles

Supported styles are outlined and filled polygons, solid lines, icons, labels, and opacity.

Bad features

During the ingestion process, Google Maps Engine rejects a vector file if it encounters problems with half the number of features, or 100 features, whichever is smaller. In some cases, Google Maps Engine fixes the problem for you.

VRT files

A VRT file must accompany a CSV file. See VRT File Example for details about creating VRT files and the restrictions that apply to them.

Image files: supported formats and limits


Google Maps Engine accepts the following imagery formats, with associated (sidecar) file types:

Extension File Type
.jpeg, .jpg JPEG
.jpg2 JPEG2000
.tif, .tiff GeoTIFF, TIFF
.sid MrSID
.png Portable Network Graphics


Maps Engine uploads files only if they are 10GB or smaller.

Browsers may impose additional restrictions, and those are often as low as 2GB. If you experience upload problems, try switching to the Google Chrome or Safari browsers, which have higher limits on some platforms.

For processing, images must be 100GB or smaller, uncompressed. For some formats, a compressed file of 10GB is equivalent, but for the highly compressed MrSID format, the compressed file would need to be smaller.

To determine the uncompressed size of a compressed source file, use the following formula. The numerator provides the uncompressed size in bytes, and the denominator converts the result into gigabytes.

( (w*h)*b ) / 1,073,741,824 = uncompressed-size-in-GB

In this formula:

  • w is the imagery width in pixels
  • h is the imagery height in pixels
  • b is the number of bands
  • 1,073,741,824 is the number of bytes in a gigabyte


Images are projected to WGS84 (EPSG 4326) for Google Earth and Mercator (EPSG 3875) for Google Maps.


Google Maps Engine supports all resolutions from more than 1 kilometer per pixel (coarse resolution) to 1.8 cm per pixel (fine resolution). If you upload data with a resolution finer than 1.8 cm per pixel, Maps Engine downsamples it to 1.8 cm.

Terrain files: supported formats and limits

Detail Description
Supported formats GTiff (.tif .tiff)
SRTMHGT (.hgt)
USGDEM (.dem)
BAG (.bag)
DTED (.dt0, .dt1, .dt2)
Data types One of the following: uint16, int16, uint32, int32, float32, float64
Bands Multiple bands are permitted, but only the first one is used.
Maximum file size 100GB uncompressed
Unit type Meters (default); see Unit type for information on how to specify feet.
Masking No mask and associated mask file modes supported

KML files: upload behavior

When you upload a KML file to Google Maps Engine, you have two choices:

  • Upload the KML file directly, to be hosted as is. In this case, Google Maps Engine supports all KML elements, and there is no limit to the size of a KML source file (see Using KML Data Sources). The only restrictions are on the client side and apply only if your users will be using Google Maps to view KML layers. For more information about Google Maps support for KML, see the overview of Google Maps support.
  • Convert the KML file to a Google Maps Engine vector layer when you upload it. In this case, anything in the KML file that isn’t a Point/Line/Polygon placemark is discarded, and styling is assigned in Google Maps Engine. The advantage of this method is that the KML data is exposed for access by the Google Maps Engine API, and it can be styled as a vector layer.


At ingest time, Maps Engine scans for <Placemark> elements and uses the geometry type in the first <Placemark> to define the geometry type to which subsequent placemarks must conform. The geometry type must be <Point>; <LineString>; <Polygon>; or a <MultiGeometry> that contains multiple of one of the primitive geometry types.


Maps Engine does not support hierarchy or preserve <Document> or <Folder> but instead extracts <Schema> and <Placemark> from the source.

Custom schema

If a <Schema> exists, Maps Engine uses each of its <SimpleField> elements to define one vector attribute. Maps Engine maps the types specified by <SimpleField> elements to the vector attribute types string, numeric, or datetime. If there are multiple <Schema> elements, the first is used.

If the <Document> does not contain a <Schema> element, the first <Placemark> is used as a template.  When Maps Engine processes the first <Placemark>:

  • If there’s a <name> element, a vector attribute called kml_name is created.
  • If there’s a  <description> element, a vector attribute called kml_description is created.
  • For each <Data> element under <ExtendedData>, Maps Engine creates a vector attribute.