Guide
How do I bulk upload photos to multiple Google Business Profiles?
For a business with 10 or more locations, use Google's Business Profile spreadsheet workflow to add photo URLs to each location.1,2,3 Preview the affected profiles and apply the batch only after checking its errors.4 Keep each existing location matched by its store code, and check the resulting media status on every profile.4,5 Google says photos show on Google only after the Business Profile is verified, and display can take up to 24–48 hours.2
By Sergey Sulimko, Founder · · 8 Google help pages, read Oct 23, 2026
What does the bulk photo workflow cover?
| Part of the job | What the spreadsheet handles | What you still check |
|---|---|---|
| Location matching | One row for each location, matched with a store code | The code is unique and unchanged for an existing location |
| Photo assignment | A URL in the Logo, Cover, or Other Photos column | The URL is in the row for the intended location |
| Batch review | A preview, affected-location count, warnings, and downloadable details | Updated fields, import status, and errors before applying |
| Visibility | The imported media record | Verification and the media status on each profile |
For the wider Google Business Profile context, see the hub. If you manage access through a shared Google Business Profile business group, confirm that the signed-in account can manage the locations before preparing the file. The group organizes access; it does not replace the spreadsheet's location matching or the per-profile media check.
How do I create the bulk-upload spreadsheet?
Download a fresh spreadsheet from Business Profile Manager, add every business you manage, and use the address format for the relevant country or region.3
- Sign in to Business Profile Manager.3
- At the top right, select Add profile.3
- From the dropdown menu, select Import profiles.3
- Select Download the template. Use Download sample spreadsheet when you need Google's filled-out example, or Download attributes reference spreadsheet when you need to check available fields.3
- Add all the businesses you manage before uploading the file. If the file includes locations in different countries or regions, use the correct address format for each one.3
- For existing locations, download the latest location information from the account and edit that file. Google accepts
.xls,.xlsx,.ods, and.csvfiles.4
Use a fresh file when the importer reports media-upload errors. Google specifically recommends downloading a fresh spreadsheet and trying the upload again in that situation.3
How do I keep each location matched to the right profile?
| Situation | Safe action | Risk to avoid |
|---|---|---|
| Existing location already has a store code | Copy the current code exactly into the updated file | A spreadsheet cannot update an existing store code4 |
| New location needs a store code | Add a unique code for the new location | Reusing a code can match the wrong location5 |
| Existing location's code needs changing | Do not change it in the bulk spreadsheet; resolve the identity issue separately | Adding or changing a code on an existing location can create a duplicate location5 |
| Codes contain leading zeros | Preserve the zeros, such as 0004 |
Spreadsheet software can turn 0004 into 4 and make an existing location look new4 |
| You are adding missing codes to locations | Add the codes without changing the locations' addresses5 | Changing the address while adding codes can create unintended changes |
Business codes must be different for each business, no longer than 64 characters, free of extra surrounding spaces, and free of special characters such as angle brackets or URLs.3 Check every code and row before uploading. A shifted cell can apply values to the wrong business even when the code itself looks valid.4
Where do I put the photo URLs?
Put each location's photo URLs in the row for that location. Choose the Logo, Cover, or Other Photos category column, then add the photo URL in that column. Separate multiple URLs in Other Photos with commas.3
Google's photo requirements apply to each submitted file:2
| Check | Google guidance |
|---|---|
| Format | JPG or PNG |
| File size | 10 KB to 5 MB |
| Minimum resolution | 250 px by 250 px |
| Recommended resolution | 720 px by 720 px |
| Quality | In focus, well lit, minimally altered, and representative of reality |
These are per-photo checks. Google's business-specific guidance may recommend at least three photos for a category.6 Treat those recommendations as content guidance, not as a spreadsheet-format limit.
Check the location status before relying on its photo URLs. Google says photo URLs for a location with status Not published are ignored.3
Read the full section
For a single-profile readiness pass, use the Google Business Profile photo upload checklist. The checklist covers the same file requirements, while this guide adds the multi-location row, store-code, and import-review steps.
How do I review the batch before applying it?
- In the import flow, choose Add business.4
- Select Import businesses, then Select file.4
- Fix any duplicated or unrecognized headers before continuing. Google says unrecognized headers are ignored during upload.4
- Select Preview changes.4
- Review the warnings and the number of locations affected by the file.4
- Select Download details and inspect Import status, Updated fields, and Errors for every affected location.4
- If the rows and warnings are correct, select Apply, then Review changes. If the file is not correct, select Cancel instead.4
Use this review table before selecting Apply.4
| Review | What to inspect | What to do |
|---|---|---|
| Identity | Store code, business name, and location in each row | Stop if a code is new, duplicated, truncated, or paired with the wrong location |
| Headers | Spelling, duplicates, and whether Google recognizes each column | Correct the header in the spreadsheet and upload again |
| Photo columns | Category column, URL, and comma-separated Other Photos values | Remove the URL from any wrong row or category |
| Import status | Updates, No updates, New, or Errors | Open the details for each location, not only the batch summary |
| Updated fields | Fields Google plans to change | Confirm that the file will not overwrite an empty or unintended value |
| Errors | The message returned for a location | Fix the source row, then import the corrected spreadsheet again |
An empty headed column can delete existing values. Do not leave a headed column blank unless deleting that field is intentional and you have confirmed it in the preview.3
What can cause a bulk photo upload to fail?
Most failures become easier to isolate when you use Google's downloaded details instead of treating the batch as one result.
| What you see | What it can mean | What to check next |
|---|---|---|
| A header is ignored | The header is duplicated or does not match a header Google recognizes | Compare it with a fresh template and correct the column name |
| A location appears as New unexpectedly | A store code changed, was duplicated, or lost leading zeros | Compare the spreadsheet code with the code in the account and restore the original value |
| Values appear on the wrong location | A cell was deleted or shifted | Check every value in the row against its business and store code |
| A location has Errors | Required fields are incomplete, formatting is wrong, or the data is inconsistent | Download the locations and error details, fix the row, and import again7,4 |
| A photo error appears | The photo has incorrect formatting, prohibited words, or is already attached to the profile | Check the file, the applicable media policy, and whether the photo is a duplicate8 |
| Media upload errors persist | The spreadsheet may be stale or malformed | Download a fresh spreadsheet and retry the upload3 |
Google says locations with errors will not appear on Maps until the errors are fixed. That warning concerns the affected location's eligibility, so resolve the location error before interpreting its photo result.7,8
How do I check whether the photos became visible?
Check the profile's verification state and each photo's media status separately. Google defines the key media states this way:2
| Status | What it means | What to record |
|---|---|---|
| Pending | The media is uploading or processing, or the profile is not verified. It does not show to customers on Search or Maps. | Profile, photo category, upload time, verification state, and next check |
| Not approved | Google flagged the media for a policy violation. It does not show to customers on Search or Maps. | Profile, photo URL or file, status, and the policy or quality issue you reviewed |
| Live | The media shows on Search and Maps for customers. | Profile, photo category, status, and the date you observed the public view |
Google's help page defines the status on each profile's media.2 Keep one result record per profile. The spreadsheet review does not replace that per-profile check. Do not assume that a successful batch import means every photo is already visible. Google says display can take up to 24–48 hours after the relevant checks.2
If a photo remains missing, pending, or rejected after the relevant wait, use why Google Business Profile photos are not showing. That guide covers the individual-profile diagnosis; this page's job ends with a clean batch review and a per-profile status record.
Common questions
- This guide covers Google's 10-or-more-location bulk photo route. For a smaller set, use the individual profile photo workflow and the single-profile checklist rather than treating this batch process as the required path.
- No. Keep the existing code unchanged for an existing location. Changing it in a bulk spreadsheet can create a duplicate location.
- No. A profile must be verified for its photos to show, and each photo can remain Pending or Not approved. Google says display can take up to 24–48 hours.
- No. Category-specific counts are Google's recommendations for helping customers understand a business, not a universal spreadsheet limit.
- Open the downloaded details for that location, compare its row and store code with the account, and fix the returned error before re-importing the corrected file.
Maps Agent service
Where your profile stands now
Visibility Score 0-100 · 20 scored factors · free · no signup
- Profile Completeness
- 11 checks · 40% of score
- Performance
- 4 checks · 35% of score
- Competitive Position
- 5 metrics · 25% of score
Sources
All read Oct 23, 2026
- 1
- 2Manage your Business Profile photos & videosGoogle Business Profile HelpGoogle's photo and video guidance
- 3Create a bulk upload spreadsheet for Business ProfilesGoogle Business Profile HelpGoogle's spreadsheet creation guidance
- 4Import and update Business Profiles in bulkGoogle Business Profile HelpGoogle's bulk import guidance
- 5Add & manage Business Profile store codes for bulk uploadsGoogle Business Profile HelpGoogle's store-code guidance
- 6Tips for business-specific photos on your Business ProfileGoogle Business Profile HelpGoogle's business-specific photo guidance
- 7
- 8