> For the complete documentation index, see [llms.txt](https://help.felt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.felt.com/upload-anything/limits.md).

# Limits

Felt is built to handle real-world geospatial data at scale. A single layer can hold up to **50 million features**, and a single map can hold up to **500 layers** — so you can bring your full dataset to the map, not a sample of it.

## Capacity guidelines

| Limit                       | Maximum    |
| --------------------------- | ---------- |
| Features per layer          | 50 million |
| Layers per map              | 500        |
| Tables per connected source | 5,000      |

### Edit at scale, instantly

Felt's [Lightning tiling engine](https://felt.com/blog/lightning-tiles) lets you bring in millions of features and edit them the moment they land — changes render immediately, your whole team can edit at once, and statistics are calculated live across millions of features. Learn more about [editing layers](/layers/editing-layers.md).

## Browser upload limits

These limits apply to **direct browser uploads** — data you drag and drop or add through Upload Anything. They aren't hard ceilings on what Felt can handle; see [Bringing in larger data](#bringing-in-larger-data) below.

| Limit                    | Maximum | More info                                                            |
| ------------------------ | ------- | -------------------------------------------------------------------- |
| File upload size         | 5GB     | [Files](/upload-anything/files.md)                                   |
| Image & PDF overlay size | 20MB    | [Files](/upload-anything/files.md)                                   |
| Layers per upload        | 50      | [Files](/upload-anything/files.md), [URLs](/upload-anything/urls.md) |

Supported files can be uploaded in their original format or compressed as `.zip`, `.gz`, or `.tar`.

## Bringing in larger data

When your data is larger than a browser upload allows — or you want it to stay live — bring it in another way:

* **Cloud sources** — connect databases and warehouses like Snowflake, BigQuery, and Postgres / PostGIS, and storage like Amazon S3, Azure Blob Storage, and Google Cloud Storage directly, with no file-size cap. See [Cloud sources](/data-sources/cloud-sources.md).
* **URL and streaming sources** — stream large, global, or frequently updating datasets as [external vector tiles](/upload-anything/urls.md), or stream large ESRI Feature and Map services so Felt loads only the data in view. See [URLs](/upload-anything/urls.md).
* **Very large rasters** — stream terabyte-scale COGs and STAC catalogs in place. See [Raster infrastructure](/data-sources/raster-infrastructure.md).
* **API** — bring in and manage large datasets programmatically with [Felt's API](https://developers.felt.com).

So a 5GB file or 50 layers in one upload is just the starting point.

## Raster at scale

Felt serves very large rasters elegantly. Instead of uploading and duplicating files, Felt streams [Cloud Optimized GeoTIFFs (COGs)](/data-sources/raster-infrastructure/cloud-optimized-geotiffs.md) and [STAC catalogs](/data-sources/raster-infrastructure/stac.md) directly from cloud storage such as Amazon S3, Azure Blob Storage, and Google Cloud Storage — indexed for location and metadata filtering and ready for immediate visualization. You can work with terabyte-scale raster datasets without ever hitting a file-upload limit.

Learn more in [Raster infrastructure](/data-sources/raster-infrastructure.md) and [Raster streaming best practices](/data-sources/raster-infrastructure/raster-streaming-best-practices.md).

## Frequently asked questions

<details>

<summary>How many features can a single layer hold?</summary>

A single layer can hold up to 50 million features, and you can edit them instantly thanks to Felt's Lightning tiling engine.

</details>

<details>

<summary>What if I have more than 5,000 tables in a connected source?</summary>

Felt supports up to 5,000 tables in a connected source. If you have more than that, limit which tables you expose to the Felt credentials — connect Felt with a database user whose access is scoped to only the tables you want available. See [Cloud sources](/data-sources/cloud-sources.md).

</details>

<details>

<summary>What's the largest file I can upload?</summary>

Through your browser, Felt supports files up to 5GB, in their original format or compressed as `.zip`, `.gz`, or `.tar`. Image and PDF overlays can be up to 20MB. See [Files](/upload-anything/files.md) for details. For larger or live data, connect a [Cloud sources](/data-sources/cloud-sources.md) or stream it [URLs](/upload-anything/urls.md).

</details>

<details>

<summary>What if I need to go beyond these limits?</summary>

The browser-upload limits aren't caps on what Felt can handle. Connect a [Cloud sources](/data-sources/cloud-sources.md), stream from a [URLs](/upload-anything/urls.md) or via [Raster infrastructure](/data-sources/raster-infrastructure.md), or use [Felt's API](https://developers.felt.com). If you still need more, [get in touch](https://felt.com/contact).

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.felt.com/upload-anything/limits.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
