---
title: "How to add a layer by importing data"
description: "Import a file from the layer panel to add it to your data library and to the current map in one step. You need the Admin role and map edit access."
sidebar:
  label: "Add by importing data"
---

Importing a file directly from the layer panel uploads it to your data library AND adds a layer pointing at it to the current map — one workflow with two results — and the layer settings open straight to the `Style` tab once processing completes. Requires the `Admin` account role plus map edit access; same supported formats as standalone import.

## Before you start

- The file must be in a [supported format](/docs/importing-data/supported-formats).
- You need edit access to the map and the `Admin` role on the account (required to import data).
- For a layer that should land in a specific folder, create the folder first. Only the folder's `Add Layer` route below puts the new layer in it.

## Open the layer panel

From the map toolbar, open `Manage Layers` to bring up the layer panel.

## Pick an entry point

Three paths reach the import flow with the current map attached:

- **Layer panel control bar → `Import new data`** (upload icon). The layer goes to the top level of the map.
- **Folder `More actions` (⋯) menu → `Upload Dataset`**. The layer also goes to the top level of the map, not into that folder.
- **Add layer modal → `Upload Dataset`**. The button is next to the search box. If you opened the modal from a folder's `More actions` (⋯) → `Add Layer`, the layer goes into that folder. From the stack-plus icon, it goes to the top level.

The flowchart shows where the new layer lands from each entry point:

<!-- diagram:import-entry-points-flow -->
<svg class="dark:hidden" style="width: 100%; height: auto" viewBox="0 0 640 340" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="import-entry-points-flow-inline-title import-entry-points-flow-inline-desc">
  <title id="import-entry-points-flow-inline-title">Where an imported layer lands</title>
  <desc id="import-entry-points-flow-inline-desc">Flowchart: Import new data in the control bar and Upload Dataset in a folder’s menu both put the new layer at the top level of the map; Upload Dataset in the Add layer modal puts it in the folder only when you opened the modal from that folder.</desc>
  <defs>
    <marker id="import-entry-points-flow-inline-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#525252"/></marker>
    <marker id="import-entry-points-flow-inline-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#c4360c"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#f5f5f5"/>
  <path d="M112 72 L112 266" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-arrow)"/>
  <path d="M320 72 L320 266" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-arrow)"/>
  <path d="M528 72 L528 122" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-arrow)"/>
  <path d="M440 172 L408 172 Q400 172 400 180 L400 266" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-arrow)"/>
  <path d="M528 220 L528 266" fill="none" stroke="#c4360c" stroke-width="1.4" marker-end="url(#import-entry-points-flow-inline-arrow-accent)"/>
  <rect x="408" y="200" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="421" y="212" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="536" y="236" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="553" y="248" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="16" y="16" width="192" height="56" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="112" y="41" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Import new data</text><text x="112" y="59" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">control bar upload icon</text>
  <rect x="224" y="16" width="192" height="56" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="320" y="41" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Upload Dataset</text><text x="320" y="59" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">in a folder’s ⋯ menu</text>
  <rect x="432" y="16" width="192" height="56" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="528" y="41" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Upload Dataset</text><text x="528" y="59" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">in the Add layer modal</text>
  <polygon points="528,124 616,172 528,220 440,172" fill="rgba(196,54,12,0.08)" stroke="#c4360c" stroke-width="1.4"/><text x="528" y="167" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Modal opened</text><text x="528" y="185" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">from a folder?</text>
  <rect x="16" y="268" width="416" height="56" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="224" y="293" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Top level of the map</text><text x="224" y="311" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">not in a folder</text>
  <rect x="448" y="268" width="176" height="56" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="536" y="293" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">In that folder</text><text x="536" y="311" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">where you opened it</text>
</svg>
<svg class="hidden dark:block" style="width: 100%; height: auto" viewBox="0 0 640 340" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="import-entry-points-flow-inline-dark-title import-entry-points-flow-inline-dark-desc">
  <title id="import-entry-points-flow-inline-dark-title">Where an imported layer lands</title>
  <desc id="import-entry-points-flow-inline-dark-desc">Flowchart: Import new data in the control bar and Upload Dataset in a folder’s menu both put the new layer at the top level of the map; Upload Dataset in the Add layer modal puts it in the folder only when you opened the modal from that folder.</desc>
  <defs>
    <marker id="import-entry-points-flow-inline-dark-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#a3a3a3"/></marker>
    <marker id="import-entry-points-flow-inline-dark-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#ff7a4d"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#141414"/>
  <path d="M112 72 L112 266" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-dark-arrow)"/>
  <path d="M320 72 L320 266" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-dark-arrow)"/>
  <path d="M528 72 L528 122" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-dark-arrow)"/>
  <path d="M440 172 L408 172 Q400 172 400 180 L400 266" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#import-entry-points-flow-inline-dark-arrow)"/>
  <path d="M528 220 L528 266" fill="none" stroke="#ff7a4d" stroke-width="1.4" marker-end="url(#import-entry-points-flow-inline-dark-arrow-accent)"/>
  <rect x="408" y="200" width="26" height="16" rx="2" fill="#141414"/><text x="421" y="212" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="536" y="236" width="34" height="16" rx="2" fill="#141414"/><text x="553" y="248" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="16" y="16" width="192" height="56" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="112" y="41" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Import new data</text><text x="112" y="59" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">control bar upload icon</text>
  <rect x="224" y="16" width="192" height="56" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="320" y="41" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Upload Dataset</text><text x="320" y="59" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">in a folder’s ⋯ menu</text>
  <rect x="432" y="16" width="192" height="56" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="528" y="41" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Upload Dataset</text><text x="528" y="59" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">in the Add layer modal</text>
  <polygon points="528,124 616,172 528,220 440,172" fill="rgba(255,122,77,0.10)" stroke="#ff7a4d" stroke-width="1.4"/><text x="528" y="167" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Modal opened</text><text x="528" y="185" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">from a folder?</text>
  <rect x="16" y="268" width="416" height="56" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="224" y="293" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Top level of the map</text><text x="224" y="311" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">not in a folder</text>
  <rect x="448" y="268" width="176" height="56" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="536" y="293" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">In that folder</text><text x="536" y="311" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">where you opened it</text>
</svg>
<!-- /diagram:import-entry-points-flow -->

<img src="/_assets/managing-layers/add-layer-by-import--button.png" alt="Manage layers panel of Throwaway Map with its layers, and the pointer on the upload icon in the control bar with its tooltip Import new data" width="1600" height="960" />

## Import the file

The import flow is documented in [How importing data works in MangoMap](/docs/importing-data/concepts-importing-data). Pick the format-specific guide for your file type:

- [How to import a CSV](/docs/importing-data/import-csv)
- [How to import a shapefile](/docs/importing-data/import-shapefile)
- [How to import a GeoJSON file](/docs/importing-data/import-geojson)
- [How to import a KML file](/docs/importing-data/import-kml)
- [How to import a MapInfo TAB dataset](/docs/importing-data/import-mapinfo-tab)
- [How to import an Esri File Geodatabase](/docs/importing-data/import-geodatabase)
- [How to import a GeoTIFF](/docs/importing-data/import-geotiff)
- [How to connect a WMS service](/docs/importing-data/connect-a-wms-service)

The flow is identical to importing without a map — pick the data format, drop the file(s), name the dataset, and click `Save`. The processing step shows the same `Processing data…` dialog.

<img src="/_assets/managing-layers/add-layer-by-import--import.png" alt="Import data page opened from the map, with Data format set to CSV and the empty drop zone with the Upload files button" width="1600" height="960" />

## What happens after the import finishes

When the upload and processing complete:

1. The new dataset is added to your account's data library — you can use it on other maps later.
2. A layer pointing at the new dataset is added to the current map. If you started from the `Add layer` modal opened from a folder, the layer lands in that folder.
3. The layer settings panel opens directly to the layer's `Style` tab so you can configure the look immediately.

## If the import fails

The import flow handles its own error messages — see the format-specific how-to and the troubleshooting docs in [Importing data](/docs/importing-data). The most common failures:

- [Storage limit reached](/docs/importing-data/troubleshoot-storage-limit)
- [CSV missing longitude or latitude column](/docs/importing-data/troubleshoot-csv-missing-coordinates)
- [Shapefile missing files](/docs/importing-data/troubleshoot-shapefile-missing-files)
- [Unsupported coordinate system](/docs/importing-data/troubleshoot-unsupported-crs)

If the import fails after the upload, the dataset isn't added to the library and no layer is added to the map. Fix the underlying issue and try again.

## Importing a dataset that already exists

If you import a file that's a duplicate of an existing dataset (same name, same content), MangoMap creates a second dataset — it doesn't deduplicate. The new layer points at the new dataset.

If you want to add an existing dataset to the current map without re-importing, use [How to add a layer from your data library](/docs/managing-layers/add-layer-from-library) instead.

## Related

- [How to add a layer from your data library](/docs/managing-layers/add-layer-from-library)
- [Supported file formats and limits](/docs/importing-data/supported-formats)
- [How importing data works in MangoMap](/docs/importing-data/concepts-importing-data)
- [Layer panel controls](/docs/managing-layers/layer-panel-reference)
- [How to organise layers into folders](/docs/managing-layers/organise-layers-into-folders)
