For the complete documentation index, see llms.txt. This page is also available as Markdown.

Spreadsheets and geocoding

Map CSV and Excel data by address, latitude and longitude, or region. Learn when to use geocoding, geomatching, or a join.

Felt places spreadsheet rows on the map by address, coordinates, or region name or code. Upload a CSV, Excel, or Numbers file with Upload Anything, or paste a Google Sheets link. An address column is enough to geocode each row as a point. If Felt can't find a location column, it adds the spreadsheet as a table, and you can choose the location columns.

Attach spreadsheet data to places

Felt chooses a method based on your spreadsheet's columns.

Your spreadsheet has
Example
Felt creates
Method

Street addresses

123 Main St, Denver, CO

Points

Latitude and longitude

40.7128, -74.0060

Points

Region names or codes

Germany, California, ZIP code 90210, county FIPS code 06037

The regions' polygons

Geometry as text

POINT(-122 37)

Points, lines, or polygons

H3 cell indexes

8928308280fffff

Hexagons

IDs or names that match your own layer, such as parcel IDs or sales territories

P-10442

A new layer with your layer's shapes and the spreadsheet's columns

For standard regions, such as counties and ZIP codes, geomatching supplies the boundaries. For your own boundaries, upload the spreadsheet and join it to your layer on a shared column. A join copies data once; it doesn't update when the source spreadsheet or Google Sheet changes. See Join.

Prepare your spreadsheet

A spreadsheet doesn't need a template: a header row plus latitude and longitude columns, or an address column, is enough.

  • Use one header row, and one row per place or feature.

  • Remove merged cells and formulas.

  • Store codes such as ZIP codes and FIPS codes as text, so they keep their leading zeros.

Each tab of an Excel workbook becomes its own layer. For file formats, see Supported file types.

Geocoding

Geocoding converts addresses into points. Felt geocodes addresses worldwide at no extra charge, up to 10,000 rows per file. A larger file uploads as a table: split it, or add latitude and longitude columns. See Data limits.

Felt reads a full address from one column or combines its parts from these columns:

Part
Column names

Full address

address, or a name that contains "address"

Street and house number

street, addr, address

City

city, town, locality

State or province

state, province, region, territory

Postal code

zip, zipcode, postal, postalcode, postcode

Country

country

Include the city and country in the address or in separate columns, especially outside the US. Without them, Felt can match a street to one with the same name elsewhere. Felt recognizes US and UK postal codes on their own. For other postal codes, such as Canadian or Indian ones, include a city and country.

Review geocoding results

After geocoding, the layer shows Found geometry in N% of rows. To see which rows matched:

  1. Select the layer in the legend, and then click Open table in the toolbar.

  2. In the Found column header, click the report icon (See full report…). The report lists each row's match.

To fix rows that weren't found or are misplaced, correct the addresses in your source file and use Upload new version on the layer. See Refresh data. Editing an address in Felt's table doesn't geocode the row again, but you can move the point by hand.

Geocoding results dialog for School sites with 103 full matches and 0 that didn't match, over the table with a check mark in each row's Found column.

Coordinates

Coordinates are the most reliable way to place points. Felt finds columns named latitude and longitude, lat and lon, lat and lng, lat and long, or y and x, or names such as site_lat.

  • Values can be decimal degrees (40.7128) or degrees, minutes, and seconds (51°30'28.5"N).

  • Latitude and longitude can be in two columns, or in one column (40.7128, -74.0060).

  • Felt doesn't read projected coordinates, such as UTM, in spreadsheets. Convert them, or upload a GeoPackage or Shapefile with its projection.

Geometries

A geometry column holds whole points, lines, or polygons as text. Felt looks for columns named wkt, wkb, geojson, geometry, the_geom, geom, geography, geo, shape, or location. Values can be Well-Known Text (WKT), such as POINT(-122 37), hex-encoded Well-Known Binary (WKB), or GeoJSON geometry objects.

Geomatching

Geomatching attaches a region's boundary to each row that contains the region's name or code. Felt uses a column when at least 70% of its values match one of these region types. When several columns match, Felt prefers a column named with a hint, such as zip or county, ignoring capitalization: County and County name both match county.

Region
Geometry settings name
Example values
Column name hints

Countries

Countries

Germany, US, DEU

country, nation, adm0, admin0, admin-0

States and provinces worldwide

Regions

California, Ontario, DE-BY

state, province, adm1, admin1, admin-1

Time zones

Timezones

America/New_York

tz, tzinfo, timezone, time zone

EU statistical units

NUTS 1, NUTS 2, NUTS 3

DE1, DE21, DE212

state, province, region, nuts

EU local administrative units

LAUs

München, DE_09162000

municipality, municipio, commune, comune, gemeinde, lau

US states

States

California, CA, 06

state, fips

US counties

Counties

06037

county, fips

US metro areas (CBSAs)

CBSAs

35620

cbsa

US ZIP codes

Zip codes

90210, 02134

zip, zipcode, zcta, postcode

US census tracts

Tracts

06037101110

tract, fips

US census block groups

Block groups

060371011101

block_group, block-group, bg, blockgrp, fips

Australian postcodes

Australian postcodes

2060

postal_code, postal_area

Codes must keep their full length: US FIPS codes have 2 digits for states, 5 for counties, 11 for tracts, and 12 for block groups. ZIP codes have 5 digits; remove the suffix from ZIP+4 codes.

Rows that share a place

Geomatching attaches a boundary to at most five rows that share the same value, and later rows stay unmatched. Summarize the spreadsheet to one row per place using a count or sum, or add addresses or coordinates so each row becomes its own point.

H3 geomatching

H3 is a global grid of hexagonal cells. Each row's H3 cell index identifies the hexagon Felt draws. The index can be a hexadecimal string or an integer. Name the column clearly, such as h3, and use one resolution for the whole column. If Felt doesn't detect the column, select H3 in Geometry settings.

Change the location columns

Changing the location columns needs Edit access to the map. Use Geometry settings when your spreadsheet appears as a table or Felt picks the wrong location column.

  1. Select the layer in the legend, and then click Open table in the toolbar.

  2. In the table, open the ··· menu and click Geometry settings.

  3. In Geometry type, select how to place rows, such as Coordinates, Addresses, Geometries (WKT/WKB), Zip codes, or H3.

  4. Select the columns to use.

  5. Click Update spreadsheet. Felt reprocesses the layer and places the rows.

Felt uses a column you choose even when fewer than 70% of its values match. For upload errors, see Troubleshooting uploads.

Last updated

Was this helpful?