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?

  • 3
    Just to clarify question, closest Steam options are 3MB/s and 5MB/s, OP wants something in between
    – arghtype
    Oct 18, 2019 at 17:14

4 Answers 4


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.

enter image description here


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 DownloadThrottleKbps setting, 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 makes 36000).

  • 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).

Steam with custom download limit

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

  • 2
    I can confirm it works. Thank you.
    – klm123
    Oct 19, 2019 at 7:30
  • Although this setting will be lost if you change the speed. It can also sometimes get lost in a steam update. I wish there was a way to add it to a permanent list of custom speeds.
    – Smock
    Oct 21, 2019 at 8:48

Based 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
    # 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]

    input('Press Enter to exit')

    # 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:

    input(f'Error during file access of {configpath}\nPress Enter to exit')

print(f'Steam bandwidth limit was set to {bandwidth} Kbit/s')

Apart from editing the config.vdf file, another option is mentioned on Reddit:

  1. Enable the Steam Console: either start Steam with the -console argument or open the link steam://open/console in your browser
  2. Click on Console which appears at the top, right next to your name.
  3. Type set_download_throttle 8000 to set the download limit to 8000Kbit/s = 1MB/s.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .