To calculate travel time between addresses in Google Sheets, install the free InstaMaps add-on and use the =TRAVEL_TIME(origin, destination, mode) formula. It returns the estimated journey duration in minutes across the real road network for driving, walking, or cycling, updating automatically when cell values change.
This function is built for delivery planners, field service managers, and logistics coordinators handling multi-stop routes. Instead of manually checking mapping software for individual legs, you can calculate driving times across a 200-row sheet to accurately schedule your crews and flag unreachable postcodes.
- →=TRAVEL_TIME calculates the road-network minutes between two addresses.
- →Syntax requires an origin, destination, and an optional travel mode (driving, walking, cycling).
- →The function accepts exact addresses, postcodes, or coordinates.
- →Use it to compare straight-line =DISTANCE with actual driving durations.
- →Returns a #NAME? error if the InstaMaps add-on is not installed.
- →The free tier permits 100 lookups per day, scaling to 1,000 with a free email unlock.
Syntax and arguments
The syntax for the function is =TRAVEL_TIME(origin, destination, [mode]). The function requests real road-network routing data to calculate the estimated duration of a trip between two points. By default, it calculates standard driving times. You can pass exact street addresses, postcodes, or latitude and longitude coordinates.
When passing coordinates, you may reference the numerical output of the =GEOCODE() function directly. When dragging the formula down a column, utilise absolute references for static origins (e.g., $A$2) and relative references for varying destinations (e.g., B2) to build a distance matrix efficiently. The function returns a numeric value representing the total time in minutes.
origin (required): The starting location. Accepts a text string address (e.g., "10 Downing Street, London") or a cell reference like A2.
destination (required): The ending location. Accepts a text string address or a cell reference like B2.
mode (optional): The method of transport. Accepts "driving", "walking", or "cycling". If omitted, the function defaults to "driving".
Worked examples
5-crew plumbing business: A plumbing company manages five crews operating across a metropolitan area. The dispatcher logs the current job site addresses in column B (B2:B41) and the next scheduled appointment in column C (C2:C41). To calculate the driving time required to move a crew between existing job sites, the dispatcher enters =TRAVEL_TIME(B2, C2, "driving") in cell D2, then fills the formula down to D41. This yields exact minute figures for realistic drive times, factoring in standard road network layouts rather than straight-line distance.
Postal route walking audit: A local delivery manager needs to audit pedestrian access times across a 120-stop delivery route. The delivery points are listed in A15:A134. The origin address is in A15, and the next sequential address on the route is in A16. The manager enters =TRAVEL_TIME(A15, A16, "walking") in cell B15 and drags down to B134. This produces the walking time in minutes between consecutive stops. The manager then sums column B to verify the total walking duration matches the scheduled shift length.
Regional cycling delivery service: A local courier company uses bicycles for inner-city deliveries. They process a daily manifest of 60 orders, with the restaurant pickup address in A50:A109 and the customer delivery addresses in B50:B109. The operations manager calculates the cycling time for each delivery by entering =TRAVEL_TIME(A50, B50, "cycling") in cell C50. The formula is dragged down to C109. This avoids incorrect driving data, ensuring the routing engine specifically favours cycle paths and avoids motorways.
Common errors
#NAME? Error: This error indicates that Google Sheets does not recognise the function name. This occurs if the InstaMaps add-on is not installed on the current document, or if the formula name is mistyped. Ensure the add-on is installed via the Google Workspace Marketplace, then enable it by navigating to Extensions > InstaMaps > Enable formulas. For detailed installation troubleshooting, see our guide on the google-sheets-geocode-formula error.
Quota limit messages: The InstaMaps free tier provides 100 lookups per day (1,000 per day with a free email unlock). Because =TRAVEL_TIME relies on live routing data, every calculation counts against this quota. If you process a list of 250 addresses in A2:A251 against a single destination in B2, the function will process the first 100 rows. The remaining rows will return an error or quota-specific message until the daily counter resets.
To manage limits, use the sidebar's Build-the-workflow button to write whole chains efficiently. If your data is static, copy the generated minute values and use Edit > Paste special > Values only to prevent the formulas from recalculating and burning your daily quota when the sheet reopens.
Composes with
InstaMaps formulas are designed to chain together. By pairing =TRAVEL_TIME() with routing and mapping functions, you can move directly from raw addresses to actionable manifests and visual response maps without leaving your spreadsheet.
Chain 1: Building a delivery manifest with SORT_BY_DISTANCE and ROUTE_LINK. Assume column A contains 47 recipient addresses (A2:A48) and cell C2 holds your dispatch depot. First, organise the stops using =SORT_BY_DISTANCE(A2:A48, C2) to generate a chronologically logical route sequence in column B. Next, calculate the drive time between each consecutive stop by placing =TRAVEL_TIME(B2, B3, "driving") in cell C3, dragging it down to C48. Because Google Maps limits browser-based navigation, use =ROUTE_LINK(C2, B2:B12) to generate a clickable driving link for the first 11 stops. You can generate a second link for the remaining stops using =ROUTE_LINK(B12, B13:B23).
Chain 2: Mapping service response times with GEOCODE and INSTAMAP. If you manage a maintenance team, you need to visualise coverage. First, convert your incident postcodes into precise coordinates using =GEOCODE(A2:A100). Then, calculate the cycling or driving time from your central hub to each incident using =TRAVEL_TIME($B$2, B3, "driving") in column D. Finally, pass these coordinates and times directly into =INSTAMAP(B2:B100, D2:D100). This generates a live, hosted map URL displaying every incident location alongside its calculated travel duration.
Limits and honest alternatives
It is important to understand exactly what =TRAVEL_TIME() calculates, what it ignores, and how it interacts with other Google Sheets limitations.
Road-network routing versus straight-line distance. The =TRAVEL_TIME() function calculates duration based on the physical road network, accounting for one-way streets, bridges, and motorway junctions. This differs significantly from the =DISTANCE() function, which calculates the straight-line (as the crow flies) distance between two coordinates. A straight-line calculation might show two addresses as 3 miles apart, ignoring a major river, whereas =TRAVEL_TIME() reflects the actual 15-minute drive required to reach the nearest bridge crossing.
Traffic and historical data. =TRAVEL_TIME() uses standard historical road-network averages for the specified travel mode (driving, walking, or cycling). It does not factor in live traffic conditions, road closures, or rush-hour congestion spikes. If you need live traffic rerouting, this spreadsheet function is not the correct tool.
The 11-stop ROUTE_LINK constraint. While your spreadsheet might contain 200 rows of calculated travel times, Google Maps' official URL scheme enforces a strict maximum of 11 stops (1 origin, 9 waypoints, 1 destination) per link. If you attempt to pass 47 addresses into =ROUTE_LINK(), the resulting URL will fail to load in a browser. You must split your manifests into batches of 11 or fewer stops per link.
Travel modes: Accepts "driving", "walking", and "cycling".
Output: Returns total duration in minutes.
Accuracy: Based on static road networks, not live traffic data.
Integration limit: Route generation is hard-capped at 11 stops per URL.
Who this is for
This function is built for spreadsheet-first operators who need immediate, quantifiable drive times without purchasing standalone routing software.
Local delivery planners and field service managers benefit most. If you are scheduling 30 to 50 daily appointments, calculating drive times between addresses in Google Sheets allows you to group technicians or drivers logically. It answers the immediate operational question of whether a specific crew can reasonably complete six jobs in an eight-hour shift.
This is not a replacement for enterprise fleet management software. If you operate a 50-vehicle fleet with real-time GPS tracking, dynamic dispatching, and live traffic avoidance algorithms, InstaMaps will not meet your needs. It is a data-led planning tool for users who already manage their operations via spreadsheet rows and columns.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Common Questions
Use the InstaMaps add-on and enter =TRAVEL_TIME(origin, destination, [mode]) in an empty cell. The origin and destination arguments accept exact addresses, coordinates, or cell references, while the optional mode argument accepts "driving", "walking", or "cycling" (defaulting to driving if omitted). For a 50-row list of customer postcodes in column A and a depot address in cell B2, inputting =TRAVEL_TIME(A2:A50, B2, "driving") populates the minutes required for each journey. You can insert this directly into the sheet or via the sidebar under Extensions > InstaMaps > Enable formulas.
The formula calculates duration based on standard historical road network speeds and legal speed limits, rather than live traffic jams. This provides a reliable baseline duration for planning fixed delivery windows or service routes weeks in advance. Because it ignores temporary motorway collisions or roadworks, you should add a 15-minute buffer to your scheduled arrival times. This ensures your five-crew roster maintains realistic deadlines despite unforeseen daily congestion.
The free tier allows 100 lookups per day, which covers a single column of 100 origin-destination pairs. You can increase this limit to 1,000 lookups per day through a free email verification in the InstaMaps sidebar. If you process large datasets like a 5,000-row CRM export, split the sheet across multiple days to avoid 'Daily quota exceeded' error messages. Alternatively, use the =DISTANCE() formula if straight-line miles are sufficient for your filtering needs.
Yes, the function accepts precise street addresses, partial addresses, and postcodes directly. If you have a dispatch postcode in cell A2 and 200 customer postcodes in column B, inputting =TRAVEL_TIME(A2, B2:B201, "driving") calculates the driving minutes from the dispatch point to each customer location. The formula geocodes the postcode to its central road network coordinate before measuring the routing distance to ensure accuracy. This works reliably for rural delivery routes where a full street address is unavailable.
A #NAME? error indicates Google Sheets does not recognise the custom function, which happens when the InstaMaps add-on is not installed or enabled in the current document. To fix this, install the add-on from the Google Workspace Marketplace and ensure your browser allows third-party cookies for the formula to process. We detail this installation troubleshooting in our name error guide, which covers common custom function issues. Once installed, the formula will resolve the text strings into numerical minutes immediately.
InstaMaps outputs journey duration strictly in numerical minutes, so you must use standard Google Sheets maths functions to change the unit. To convert to hours, wrap the formula in a simple division, such as =TRAVEL_TIME(A2, B2, "driving") / 60. To format this cleanly as hours and minutes for reporting, apply a custom number format to the result cell or divide by 1440 and format the cell as Time. This formula composes well with =ROUTE_LINK() to build a clickable map URL for the driver, or with =INSTAMAP() to generate a live hosted shareable map URL that updates as the sheet's travel times change.
Map your spreadsheet addresses to real road-network minutes without leaving Google Sheets. Install the free add-on to begin running location formulas.
Install InstaMaps free