1. Your location file
The bulk-upload template saved as CSV or tab-separated text, or a sheet exported from your location-management system.
Choose a file or paste the text, then click Check file.
Result
Locations
| Line | Store code | Business name | Locality |
|---|
Safe fixes
The rules, and what they leave out
- Comma- or tab-separated, UTF-8. The bulk upload reads CSV or tab-separated text. A semicolon file (European Excel) or Excel's UTF-16 "Unicode Text" is read wrongly.
- Columns: Store code, Business name, Address lines 1 to 5, Sub-locality, Locality, Administrative area, Country/Region, Postal code, Primary phone, Additional phones, Website, Primary category, Additional categories, Sunday to Saturday hours, Special hours, From the business, Opening date, Labels, photo columns, Latitude and Longitude. Missing store code, name, address line 1, country or primary category is an error.
- Store code is unique per row, at most 64 characters, letters, digits, hyphens, underscores and periods. Scientific notation and trailing .0 are Excel damage.
- Business name is at most 100 characters. All capitals, a web address, a phone number, "best", "cheap", "near me" and lists of services or towns are flagged as a heuristic, because stuffed names are a common cause of suspension.
- Country/Region is a two-letter ISO code (GB, not UK). US states are two-letter abbreviations. Postal codes are checked for the shape of about twenty countries.
- Phones are E.164 (+16175550142) or a number plausible for the row's country: ten digits for the US and Canada, 11 starting 0 for the UK.
- Website starts with https://. Hours are 24-hour HH:MM-HH:MM, shifts separated by commas, closed as x, round-the-clock as 24 hours. Opening date is YYYY-MM-DD.
- Labels are at most ten per location and 50 characters each. "From the business" is at most 750 characters with no links.
- Latitude and Longitude are decimal degrees in range, both or neither.
- Duplicate addresses under different store codes are flagged.
- Safe fixes change only the delimiter, stray spaces, a trailing .0, hours separators, and a US ZIP whose leading zero the row's state confirms. They never edit a name's words, an address, a category or a phone number's digits.
- Not checked: that Google will accept the file today, whether a category name is current, whether an address exists, whether a profile already exists, verification, and Google's name and content policies. Upload two or three rows first.
Common questions
Why did Google reject my Business Profile bulk upload?
The usual causes are a file saved with semicolons or as UTF-16, a missing template column or a renamed header, duplicate or blank store codes, a country written as a name or as UK instead of the ISO code GB, a US ZIP that lost its leading zero in Excel, phone numbers with the wrong number of digits for the country, hours written as 9am-5pm instead of 24-hour HH:MM, an opening date that is not year-month-day, a business name over 100 characters or stuffed with keywords, and more than ten labels. This tool tests each of them and names the line.
Why did Excel change my ZIP codes and phone numbers?
Excel treats digit strings as numbers. A ZIP like 02110 becomes 2110, a long store code becomes 1.2346E+09, and a phone number stored as a number can gain a trailing .0. Format those columns as Text before pasting. This tool flags each, and restores a US ZIP's leading zero only when the row's state confirms it, for example 2110 in MA becomes 02110 but 2110 in TX is left for you to check.
What format do Business Profile opening hours use?
From memory of Google's bulk-upload help, each day takes 24-hour HH:MM-HH:MM, for example 09:00-17:00; a split day lists shifts separated by commas, 09:00-12:00, 13:00-17:00; a closed day is x or closed; and a round-the-clock day is 24 hours. This tool reports 12-hour times, impossible times, overlapping shifts and non-standard dashes, and Apply safe fixes tidies the separators.
What does Apply safe fixes change?
Only things with one reasonable reading: semicolon or pipe delimiters to commas, stray spaces, a trailing .0 on a store code, phone or ZIP, a ZIP's leading zero when the state's ZIP range confirms it, and dash or word separators in hours. It never edits a business name's words, an address, a category or the digits of a phone number.
Is it safe to put my locations into a web page?
The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls.
What does this not check?
Whether Google will accept the file today, whether a primary category is a current Google category name, whether an address exists or geocodes, whether a profile already exists on Google, verification status, and Google's policies on names, which can suspend a profile even when the file is valid. A clean result is not a promise of success: upload a few rows first.