Is there a way to set a custom Steam Download speed?
Robert Clark
Published May 10, 2026
My internet is 5MB/s, which is exactly one of the steam's download speed option. The next lowest option is 3MB/s.
I.e. I can't choose 5MB/s - it is too high since it spoils my browsing experience while steam is downloading. But 3MB/s is also not good since it is much lower than necessary. Something like 4.5MB/s would be ideal.
Is there a way to do it? A way to edit steam files may be, and to change the default options list?
4 Answers
As of October 7th, 2020, you can now specify an exact speed simply by inputting the amount you desire. Go to Steam → Settings → Downloads and in the "Download Restrictions" part of the window, check the "Limit Bandwidth to" checkbox and input the amount you wish (in KB/s). 4500 KB/s would equate to 4.5 MB/s.
I found (and slightly redacted) this solution on SuperUser, which was copied verbatim from Reddit, whence it was sourced from the Steam community:
Go into your Steam directory, and open the config directory [C:\Program Files (x86)\Steam\config by default.]
Go into the config directory and open the "config.vdf" file.
Find the
DownloadThrottleKbpssetting, and set it to the desired speed (take the amount in Mb/s you want to set it to, and multiply it by 8000 - e.g. 4.5 Mb/s makes36000).Save the file, open Steam, and verify that it is working.
Make sure to set the "config.vdf" file to 'Read-only'. Steam changes the file on start-up and exiting (when set to be run as administrator).
Note that the file contains more settings, so customizing other settings might require the file to have the 'Read-only' flag disabled.
Works with the New Steam Library update
2Based on the answer by Joachim, I created a little Python script that sets the DownloadThrottleKbps in the config.vdf file, so you don't need to redo it manually everytime the setting gets overwritten. Recommended use: create a shortcut to the script with the bandwidth in Kbit/s as first the argument.
Example: To set a bandwidth limit of 4.5MB/s, in the shortcut's properties, edit the Target of the shortcut as:C:\path\to\bandwidth-limit-script.py 36000
Note 1: Close Steam before running this.
Note 2: I hardcoded the path to C:\Program Files (x86)\Steam\config\config.vdf, so change that line of code if you've installed Steam to a custom location.
Note 3: I used f-strings so you need Python 3.6 or higher.
# Set Steam download bandwidth limit (for Windows)
import argparse
from time import sleep
# Config
configpath = "C:\\Program Files (x86)\\Steam\\config\\config.vdf"
throttlestr = "DownloadThrottleKbps"
# Make the user at least see error messages when launched from a shortcut
# Please don't judge me for my lazy exceptions XD
try: # Parse bandwidth argument parser = argparse.ArgumentParser(description='Set Steam download bandwidth limit in Windows.') parser.add_argument('bandwidth', metavar='bandwidth', type=int, nargs=1, help='Bandwidth limit in Kbit/s. 0 = no limit.\n\ Recommended use: create a shortcut to the script with bandwidth as first the argument.') args = parser.parse_args() bandwidth = args.bandwidth[0]
except: input('Press Enter to exit') exit()
try: # Open config file with open(configpath, 'r') as f: contents = f.readlines() # Find DownloadThrottleKbps line for n in range(len(contents)): # Loop over lines of config if throttlestr in contents[n]: # Check for 'DownloadThrottleKbps' contents[n] = f'\t\t\t\t"{throttlestr}"\t\t"{bandwidth}"\n' # Replace line break # Exit loop # Write new config to file file with open(configpath, 'w') as f: f.writelines(contents)
except: input(f'Error during file access of {configpath}\nPress Enter to exit') exit()
print(f'Steam bandwidth limit was set to {bandwidth} Kbit/s')
sleep(1) Apart from editing the config.vdf file, another option is mentioned on Reddit:
- Enable the Steam Console: either start Steam with the -console argument or open the link steam://open/console in your browser
- Click on Console which appears at the top, right next to your name.
- Type set_download_throttle 8000 to set the download limit to 8000Kbit/s = 1MB/s.