To create a Google Maps route link from Google Sheets, install the InstaMaps add-on and use the =ROUTE_LINK() formula. Point it at a range of cells containing addresses or coordinates, such as =ROUTE_LINK(A2:A12). The formula outputs a clickable URL that plots the stops in Google Maps.
This reference page is for delivery drivers, regional sales teams, and field service coordinators managing small multi-stop routes. By generating these links directly in your spreadsheet, you skip manual copy-pasting into maps, sending drivers directly to navigation with one click.
- →=ROUTE_LINK(locations) generates a clickable Google Maps directions URL for up to 11 stops.
- →This formula uses Google Maps' official URL scheme, meaning the 11-stop cap is a hard system limit.
- →Use the InstaMaps sidebar (Extensions > InstaMaps > Enable formulas) to insert the formula without typing.
- →The free tier provides 100 lookups per day (1,000 with a free email unlock).
- →If your route requires more than 11 stops, use =INSTAMAP() to plot all points on a live hosted map instead.
Syntax and Arguments
The =ROUTE_LINK() function generates a clickable URL that opens a pre-populated, multi-stop route in Google Maps. It uses the official Google Maps URL scheme, which enforces a strict limit of 10 intermediate waypoints plus the final destination.
Syntax block:
=ROUTE_LINK(locations)
This function compiles your specified stops and outputs a single text string. You must format the destination cell as Plain Text to prevent Google Sheets from truncating the URL structure.
Arguments Table:
locations (required): The range of cells containing the physical addresses or coordinates for the route. This parameter accepts a one-dimensional vertical array, such as A2:A12. The cells must contain recognised geographic data. You can feed the function raw text addresses (like "1600 Amphitheatre Parkway, Mountain View, CA"), alphanumeric place names, or coordinate pairs output by other InstaMaps functions.
If you pass a range containing more than 11 rows, =ROUTE_LINK() processes only the first 11 locations to prevent the URL from failing on the Google Maps side. The function builds the URL with the first cell as the starting point and the final cell in the 11-row sequence as the destination. The intermediate 9 rows become the waypoints. For visualising more than 11 stops simultaneously on a live, hosted map that updates dynamically, use the =INSTAMAP() function instead.
How to Generate a Route Link
You can insert the =ROUTE_LINK() formula by typing it manually or by using the InstaMaps sidebar to build the workflow automatically.
1. Open your Google Sheet and install the InstaMaps add-on. Activate the tools by clicking Extensions > InstaMaps > Enable formulas to open the sidebar.
2. Click the Build-the-workflow button inside the sidebar. This menu reads your selected data and inserts the required formulas without typing.
3. Highlight your target data range. For a sequence of 10 delivery addresses located in cells A2 through A12, the builder writes =ROUTE_LINK(A2:A12) directly into your chosen destination cell, such as C2.
4. Alternatively, type the formula manually. Click cell C2, enter =ROUTE_LINK(A2:A12), and press Enter. The cell populates with a long URL string beginning with https://www.google.com/maps/dir.
5. Test the output. Click the generated URL. A new browser tab opens, loading Google Maps with your locations pre-loaded into the directions engine. The route calculates driving directions by default. If you update an address in cell A5, the formula automatically regenerates the URL to reflect the new stop.
Worked Examples
A regional sales manager schedules client meetings across a specific territory. The day's itinerary consists of 5 stops. The addresses are listed in cells B2 through B6.
Formula: =ROUTE_LINK(B2:B6)
Result: The formula outputs a Google Maps URL starting at the address in B2 and routing sequentially through B3, B4, B5, and ending at B6.
A local courier needs to dispatch a delivery van to absolute capacity. The manifest lists exactly 11 addresses in cells D2 through D12.
Formula: =ROUTE_LINK(D2:D12)
Result: This matches Google Maps' absolute maximum capacity of 11 stops (1 origin, 9 intermediate waypoints, 1 destination). The URL generates correctly. If the courier adds a 12th stop in D13, the formula ignores row 13, preventing a broken link.
A property maintenance firm manages a 200-home farm. Today, they schedule 47 jobs across 5 crews. Because the 11-stop limit is a hard constraint on Google's side, the dispatcher must split the routes.
Instead of querying all 200 rows, the dispatcher filters the day's 47 stops into 5 distinct columns, ensuring no column exceeds 11 rows. Crew A has 11 stops in G2:G12. Crew B has 10 stops in H2:H11. Crew C has 9 stops in I2:I10.
Formula for Crew A: =ROUTE_LINK(G2:G12)
Formula for Crew B: =ROUTE_LINK(H2:H11)
Result: The sheet generates 5 distinct URLs. To optimise these sequences before generating the links, the dispatcher first processes the raw stops with =SORT_BY_DISTANCE() or =VISIT_ORDER(), then feeds that ordered output array directly into =ROUTE_LINK(). This guarantees the crews drive the most efficient path without zigzagging across the city.
Common Errors
If the cell displays #NAME?, Google Sheets cannot recognise the formula text. This occurs when the InstaMaps add-on is not installed or the session has expired. To resolve this, navigate to Extensions > InstaMaps > Enable formulas. For deeper troubleshooting on unrecognised functions, read our guide on the [google-sheets-geocode-formula] error.
Quota Exceeded Messages: InstaMaps relies on daily quota allowances. The free tier provides 100 lookups per day, which increases to 1,000 lookups per day with a free email unlock. If your sheet exceeds these limits, dependent cells display a quota message.
While =ROUTE_LINK() builds URLs locally and does not consume a lookup itself, the underlying address data usually comes from =GEOCODE() or =REVERSE_GEOCODE(). If your geocoding cells hit the daily quota cap and return errors, =ROUTE_LINK() will pass that error text directly into the URL string. This results in a Google Maps URL that searches for the word "Quota Exceeded" instead of a valid address. Ensure your lookups remain under the 100 or 1,000 daily limits before generating your route links.
Composes With
InstaMaps formulas are designed to feed directly into one another. You do not need to copy and paste intermediate results into new columns. By nesting functions, a single data source updates the entire chain.
Chain 1: Geocoding to Routing. If you only have addresses in column A (A2:A12), you must first derive their coordinates to ensure accurate routing. You can map the [geocode formula](google-sheets-geocode-formula) output directly into your route.
1. Enter raw addresses in A2:A12.
2. In B2:B12, run =GEOCODE(A2:A12) to fetch latitude and longitude pairs.
3. In cell D1, generate your link using =ROUTE_LINK(B2:B12).
If you update the text in A5 to a corrected address, =GEOCODE() recalculates the coordinates, and =ROUTE_LINK() automatically generates a URL reflecting the new itinerary. You do not need to edit the route formula itself.
Chain 2: Automated Sequencing. When you manage a list of stops but lack a logical visit order, manually reorganising them for =ROUTE_LINK() wastes time. You can combine sorting functions with routing to automatically sequence your stops by proximity.
1. Enter unordered addresses in A2:A11 alongside their coordinates in B2:B11.
2. In cell C2, write =SORT_BY_DISTANCE(B2:B11). This spills a reordered array of coordinates into an optimal driving sequence, starting from the first location in the range.
3. In cell E1, route the sorted array by pointing the function at the spilled data: =ROUTE_LINK(C2#).
This chain transforms a disorganised list of 10 raw stops into a ready-to-click navigation link without manual data sorting. Instead of typing these nested arrays manually, open the sidebar (Extensions > InstaMaps > Enable formulas) and use the Build-the-workflow button to write the entire chain automatically.
Limits and Honest Alternatives
=ROUTE_LINK() operates by constructing a standard Google Maps URL. Because Google's own URL scheme strictly limits directions to a maximum of 11 stops (1 origin, 9 intermediate waypoints, 1 destination), this formula carries the exact same hard cap. If you point =ROUTE_LINK() at a range of 15 cells, the generated URL will fail to load correctly in Google Maps.
If your workflow requires plotting a larger journey-for example, a 47-stop property inspection route-the standard URL method is the wrong tool. While the InstaMaps free tier provides 100 lookups/day (1,000/day with a free email unlock), you will hit the Google Maps URL constraint long before you hit your account quota.
For larger visual mapping needs, use =INSTAMAP(). This function processes your coordinate data and returns a live, hosted shareable map URL. Because it renders on its own web page rather than relying on the standard Maps URL structure, it safely plots all 47 points. It updates immediately when your sheet changes. For pre-built structures handling high-density workflows, visit get-instamaps.com/templates.
Who This Is For
Field Service Managers: If you dispatch a 5-crew team to 10 different sites each morning, this formula allows you to generate and share exact navigation links via Slack or email directly from your scheduling sheet.
Regional Sales Representatives: For reps managing a 200-home farm territory, driving efficiency is critical. When you need to visit a subset of 8 clients in a specific county, generate a single link to sequence your day without manually searching addresses in the Maps app.
Independent Delivery Drivers: If you have a manifest of 11 drop-offs, pasting this link into your phone's browser provides immediate, turn-by-turn directions without retyping postcodes.
This function is not intended for complex supply chain modelling or 50-stop cross-country logistics. It is a rapid deployment tool for daily, last-mile navigation and straightforward A-to-B routing with multiple stops.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Common Questions
Install the InstaMaps add-on from the Google Workspace Marketplace. Once enabled, type =ROUTE_LINK(A2:A12) into a cell, replacing A2:A12 with your specific range of addresses. Press Enter to generate a clickable hyperlink. You can also insert this formula without typing by opening the sidebar via Extensions > InstaMaps > Enable formulas. Clicking the generated link opens the official Google Maps interface with your stops pre-loaded.
The maximum capacity is 11 stops, which includes your starting point and your final destination. This limit allows exactly 9 intermediate waypoints between the origin and endpoint. Google Maps imposes this hard cap on its standard URL structure, so the formula cannot bypass it. If you pass a range containing 12 or more locations, the formula returns an error.
A #NAME? error indicates the spreadsheet does not recognise the function. This happens when the InstaMaps add-on is not installed on the current document. You must install it from the Google Workspace Marketplace before using the formula. If it is already installed, try reloading the page or toggling the extension via Extensions > InstaMaps > Enable formulas.
Yes, =ROUTE_LINK() accepts both physical addresses and geographic coordinates. If you have latitude and longitude pairs, you can pass them into the formula directly. You can also use the =COORD_CONVERT() function or check our google sheets geocode formula reference to prepare your data. The formula maps whatever location data exists in the specified cell range.
To share a longer route containing 47 stops, you must first sequence your data using =VISIT_ORDER() or =SORT_BY_DISTANCE() to find the optimal path. Once sorted, segment your addresses into batches of 11 or fewer stops in adjacent columns. Apply =ROUTE_LINK() to each batch to generate multiple links. You can then use =INSTAMAP() to generate a single live hosted shareable map URL that updates when the sheet changes, plotting all 47 stops without the 11-stop limit.
Yes, the generated link updates dynamically whenever you alter the underlying cell values. If you delete an address or change a coordinate in your referenced range, the formula recalculates immediately. This ensures your routing links always match your current spreadsheet data. The destination Google Maps page itself remains static until you click the updated link.
Install InstaMaps to generate Google Maps links, sort by distance, and map your spreadsheet data. The add-on is free to use and includes 100 lookups per day.
Install InstaMaps free