Route Table Header

To add a static route to the routing table, open Command Prompt and run “route add” followed by a destination network address, a subnet mask, and a gateway address. Run “route print” to view existing routes and confirm your route was added to the table.

In some specific types of environments, you might find it useful to add a static route to the routing table. Here’s how to go about it in Windows 11, 10, 8, and 7.

RELATED: How to Use Traceroute to Identify Network Problems

What Are Routing Tables?

A routing table dictates where all packets go when they leave a system — whether that system is a physical router or a PC. Most routers — including the one built into your Windows PC — use some form of dynamic routing, where the router is capable of selecting the best place to forward packets based on information it gets from other routers. You can see it at work if you use the traceroute command to watch the connections a packet makes as it reaches it’s final destination.

Most routers also allow you to add a static route (one that doesn’t get dynamically updated) if you want to always forward certain traffic to a specific router or gateway. Why? Well, most people using Windows in their home or small business probably won’t — but this can be useful under certain circumstances, such as:

  • You have two internet connections — maybe one for regular use and one for connecting to a work network — and you want all traffic to a certain IP address range to go out over one of those connections.
  • You have set up multiple subnets on your network and need to direct traffic to a particular subnet. Static routes can be particular useful in testing these types of environments.
  • You’re actually using a Windows PC as a router for your network and you want finer control over it.

If any of those apply to you, read on. You’ll need to dive into the Command Prompt to add a static route to the Windows routing table, but it’s easy and we’ll walk you through the steps.

View the Windows Routing Table

Before you get started adding routes, it may be helpful to view the routing table first. Fire up Command Prompt by hitting Windows+X and then selecting “Command Prompt (Admin)” on the Power Users menu.

Run Command Prompt as an Administrator through the Poweruser Menu.

Note: If you see PowerShell instead of Command Prompt on the Power Users menu, that’s a switch that came about with the Creators Update for Windows 10. It’s very easy to switch back to showing the Command Prompt on the Power Users menu if you want, or you can give PowerShell a try. You can do pretty much everything in PowerShell that you can do in Command Prompt, plus a lot of other useful things.

RELATED: How to Put the Command Prompt Back on the Windows+X Power Users Menu

At the Command Prompt, type the following command and hit Enter:

route print

"Route print" will display a list of network destinations.

You’ll see a long list of network destinations and the gateways to which packets are forwarded when they are headed to that destination. Unless you’ve already added static routes to the table, everything you see here will be dynamically generated.

Add a Static Route to the Windows Routing Table

To add a static route to the table, type a command using the following syntax:

route add destination_network MASK subnet_mask  gateway_ip metric_cost

The subnet_mask and metric_cost components are optional to the command. If you don’t specify a subnet mask, will be used automatically. If you don’t specify a metric cost, a cost one greater than the destination entry will be used. The metric cost value is just a cost that is relative to other costs in the table and is used when Windows decides between multiple routes that could reach the same destination.

So, for example, if you wanted to add a route specifying that all traffic bound for the subnet went to a gateway at and you just wanted to use the automatic metric cost, you would use the following command:

route add MASK

"Route add" adds a static route to your Routing Table.

If you were to use the route print command to look at the table now, you’d see your new static route.

Type "route print" into the Command Prompt again and confirm that your addition is present.

That’s all easy enough, but there is one extra little catch. When you add a static route, by default it only lasts until the next time you start Windows. The reason for this is that many companies use a coordinated list of static routes that gets updated fairly often. Rather than adding and updating all those routes on every machine, they just distribute a batch script file that adds the newest routes during Windows startup. This keeps the routing table relatively uncluttered.

RELATED: How to Write a Batch Script on Windows

You could certainly use the batch script method yourself. Writing batch scripts isn’t hard. But if you’re just adding one or two static routes that you don’t expect to change often, you can instead just add the -p option to the command to make the route persistent. A persistent route stays in place even when Windows starts up. Using the same command we used earlier, you could make that route persistent with the following modification:

route -p add MASK

Adding "-p" to the command will make the addition persistent between restarts.

Remove a Static Route from the Windows Routing Table

Of course, there will come a time you might want to remove a static route from your table. All you have to do is type a command using the following syntax:

route delete destination_network

So, to delete the route we created earlier with the destination network, all we’d have to do is type this command and hit Enter:

route delete

Type "route delete" to delete a static route you've added.

Yes, using static routes is a bit esoteric when it comes to managing most home and small business networks. But if you do need to do it, it’s a pretty easy process. And if you don’t need to do it right now, at least you know it’s an option in the future.

Profile Photo for Walter Glenn Walter Glenn
Walter Glenn is a former Editorial Director for How-To Geek and its sister sites. He has more than 30 years of experience in the computer industry and over 20 years as a technical writer and editor. He's written hundreds of articles for How-To Geek and edited thousands. He's authored or co-authored over 30 computer-related books in more than a dozen languages for publishers like Microsoft Press, O'Reilly, and Osborne/McGraw-Hill. He's also written hundreds of white papers, articles, user manuals, and courseware over the years.
Read Full Bio »
Profile Photo for Nick Lewis Nick Lewis
Nick Lewis is a staff writer for How-To Geek. He has been using computers for 20 years --- tinkering with everything from the UI to the Windows registry to device firmware. Before How-To Geek, he used Python and C++ as a freelance programmer. In college, Nick made extensive use of Fortran while pursuing a physics degree.
Read Full Bio »