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.
Region names or codes
Germany, California, ZIP code 90210, county FIPS code 06037
The regions' polygons
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:
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
Avoid two similar column names for one address part, such as State and State Reporting, because Felt might use the wrong one. Rename the extra column, or choose the columns in Geometry settings.
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:
Select the layer in the legend, and then click Open table in the toolbar.
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.

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.
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
Available on the Business and Enterprise plans. Compare plans
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.
Select the layer in the legend, and then click Open table in the toolbar.
In the table, open the ··· menu and click Geometry settings.
In Geometry type, select how to place rows, such as Coordinates, Addresses, Geometries (WKT/WKB), Zip codes, or H3.
Select the columns to use.
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?