Is there a way to download the box art for Steam games?

When you open up the Steam app and look at all the things in your Library at once, the Library contents are presented with portrait oriented images called box art.

Like these three images:

The Steam library shows the covers of the games

Is there any way to download them from somewhere, or are they stored on my computer somewhere?

'Cause I like some of mine, and I want to be able to have them without having to Print Screen and crop them out manually.


As of today, the box art in this format (600x900) aren't cached, apparently. The format that is cached however, is 300x450, and is available in C:\Program Files (x86)\Steam\appcache\librarycache\ on Windows (or /Users/<USERNAME>/Library/Application Support/Steam/appcache/librarycache/ on MacOS, or ~/.local/share/Steam/appcache/librarycache/ on Linux).

The base URL for the box art in the format 600x900 is https://steamcdn-a.akamaihd.net/steam/apps/<APP_ID>/library_600x900_2x.jpg, where <APP_ID> represents the id of the game you want. In order to get all the IDs for your game, go to your steam profile page where all your owned games are listed (https://steamcommunity.com/profiles/USER_ID/games/?tab=all), and you can click on each game and see the app ID in the URL.

I took the freedom to create a Python3 script, to automatically fetch all the officially available full-size box art for the games in your library, and save them to a folder on your desktop.
Make sure to change <USER_ID> in the url in the script to YOUR user ID. It can be found by using your browser, and finding your Steam account. The user ID will be the number at the end of the URL.

import urllib.request
import urllib.response
import re
import os

website = urllib.request.urlopen("https://steamcommunity.com/profiles/<USER_ID>/games/?tab=all").read().decode(
    'utf-8'
)
gameIDs = re.findall(r"(?:appid\":)\d+", website)
gameIDs[:] = [s.replace('appid\":', '') for s in gameIDs]
desktopfolder = os.path.expanduser('~/Desktop/steam_cover_art/')
if not os.path.exists(desktopfolder):
    os.makedirs(desktopfolder)

for i in gameIDs:
    try:
        URLOpen = urllib.request.urlopen("https://steamcdn-a.akamaihd.net/steam/apps/"
                                         + i + "/library_600x900_2x.jpg").read()
        open(desktopfolder + i + 'p.jpg', 'wb+').write(URLOpen)
    except Exception as e:
        ResponseData = e.read().decode("utf8", 'replace')

NOTE
Not all games have official box art in this format. This is why sites like SteamGridDB have been created, in order to fill the gap.

P.S.:
There are also other official box art formats available, with the following URLs (the game GRID Autosport used as example):
https://steamcdn-a.akamaihd.net/steam/apps/255220/header.jpg
https://steamcdn-a.akamaihd.net/steam/apps/255220/logo.png
https://steamcdn-a.akamaihd.net/steam/apps/255220/library_hero.jpg
https://steamcdn-a.akamaihd.net/steam/apps/255220/library_600x900.jpg (actually 300x450)
https://steamcdn-a.akamaihd.net/steam/apps/255220/page_bg_generated.jpg
https://steamcdn-a.akamaihd.net/steam/apps/255220/page_bg_generated_v6b.jpg


In your default Steam folder, go to appcache, and then librarycache
(e.g. C:\Program Files\Steam\appcache\librarycache):

Steam library icons cache in the Windows 10 explorer

You can sort the files by 'dimensions' to find the icons as shown in your screenshot grouped together.
If that option is not yet available in Windows' Context Menu, then (using Windows 10):

  • right-click the folder,
  • select 'Sort by',
  • go to 'More...', and select 'Dimensions' in the list,
  • click 'OK',
  • right-click the folder again,
  • select 'Sort by', and
  • select 'Dimensions').

A little above half-way the folder the icons you want (300 x 450 px) can be found:

Steam library icons cache in the Windows 10 explorer, sorted by 'Dimensions'