Find the Current Desktop Background Wallpaper File in Windows 10

If you’re using desktop background slideshow or third-party wallpaper changer software and want to find the file name of the currently displayed desktop wallpaper, then this article is for you. The current wallpaper path is are stored in the registry but is not displayed in the modern Personalize settings page in Windows 10.

This post tells you how to find the current wallpaper file name and path in Windows 8 and Windows 10.

How to Find the Current Desktop Background File Name in Windows 10

Here are five different methods to find the current desktop background (wallpaper) file name, starting with the easiest option.

Find the wallpaper image in your Themes folder in Windows 10

When you set wallpaper image of any format, Windows converts that file to JPEG format and also sometimes reduces its quality. The converted wallpaper image may exist in one of the three different locations mentioned below, depending upon the method you used to set the wallpaper.

When you right-click on an image file and choose Set as desktop background in the context menu, a copy of the image file is converted and stored as TranscodedWallpaper without file extension. The transcoded wallpaper is stored here:

%appdata\Microsoft\Windows\Themes

transcodedwallpaper themes jpg

Type the above folder path in Run dialog or Explorer address bar to access the location.

All you need to do is copy the transcoded image from the above to a different location, add the .jpg extension and use it.

If you used the Browse.. option in Personalize settings to set the desktop background, then the converted and up-scaled (matching your display resolution) version of the image is stored in the following directory.

%appdata\Microsoft\Windows\Themes\CachedFiles

The file naming convention may be like CachedImage_1920_1080_POS0.jpg where the numbers indicate the current display resolution of 1920 x 1080. POS0 may indicate the monitor number (if using multiple monitors.)

cached files themes wallpaper image

In case you used neither methods above, but set the desktop background wallpaper via Windows Photo Viewer, then the transcoded JPEG file stored in the following folder as Windows Photo Viewer Wallpaper.jpg, and the file path is written to the registry.

%AppData%\Roaming\Microsoft\Windows Photo Viewer

Note that the quality of the transcoded and converted (to JPEG) wallpaper may not be exactly the same as the original.

The registry value TranscodedImageCache is updated in all of the above cases.

Find the Current Wallpaper using Desktop Background applet in Windows 10

The classic Desktop Background applet in Windows 10 shows the currently selected desktop background file name with full path.

  1. Right-click Start, and click Run to bring up the Run dialog.
  2. Type the following command and press ENTER
    shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921} -Microsoft.Personalization\pageWallpaper

    In Windows 10 this opens the classic desktop background applet, showing the current wallpaper image file and the folder path.

    classic desktop background panel windows 10

Find the current wallpaper file via Registry Editor in Windows 10

The reference to current desktop wallpaper may exist in one of more locations in the registry.

Open the Registry Editor (regedit.exe)

In the Registry Editor, there are the keys you need to check.

HKEY_CURRENT_USER\Control Panel\Desktop

wallpaper path in registry transcodedimagecache

Look for the value named Wallpaper (Type: REG_SZ).

Look for the value named TranscodedImageCache (Type: REG_BINARY)

TranscodedImageCache is a binary value, but you can easily make out the file path by double-clicking the value and reading the data.

Another history location in Windows 10

Go to the following registry key which stores your desktop background history.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers

The BackgroundHistoryPath0 value lists the current wallpaper.

background wallpaper history registry



The values BackgroundHistoryPath1, BackgroundHistoryPath2, BackgroundHistoryPath3, BackgroundHistoryPath4 refer to the previous 4 wallpapers you used. The wallpaper history thumbnail images are shown in the Personalize background settings page in Windows 10.

background wallpaper history personalize window

RELATED: How to Clear Background (Wallpaper) History in Windows 10

Find the current wallpaper file using Windows script in Windows 8 and Windows 10

We have an article that determines the Wallpaper source in Windows 7 (REF: Add “Desktop Background File Location” Context Menu in Windows 7) but that script doesn’t work in Windows 8 and 10. This is because in Windows 8 and 10 the current Wallpaper source path is stored in a different registry branch. Moreover, in Windows 8 (and in early versions of Windows 10) Microsoft decided not to store the Wallpaper source path in plain-text.

You can open PowerShell and run the following command(s) to decode the TranscodedImageCache registry value and display the output in the console:

$TIC=(Get-ItemProperty 'HKCU:\Control Panel\Desktop' TranscodedImageCache -ErrorAction Stop).TranscodedImageCache
[System.Text.Encoding]::Unicode.GetString($TIC) -replace '(.+)([A-Z]:[0-9a-zA-Z\\])+','$2'

The following script methods are especially useful for Windows 8. This is because the previously discussed registry values don’t exist in Windows 8, except the TranscodedImageCache binary value.

The scripts below can decode the TranscodedImageCache binary value for you. Thanks to Dwight Grant for his VBScript, and John Dangerbrooks for the PowerShell script (to support Unicode).

The scripts read the Wallpaper path/filename from the following registry branch, stored in a REG_BINARY value named TranscodedImageCache:

HKEY_CURRENT_USER\Control Panel\Desktop

Download Win8_WP_Curr_Image_Name.zip, extract and run the enclosed script file.

Find the current wallpaper file using PowerShell script (supports Unicode)

Note that Unicode isn’t supported by the above VBScript (nor does my earlier script for Windows 7). These scripts won’t function correctly if the Wallpaper path contains non-English characters.

Thanks to John Dangerbrooks for the PowerShell script that helps you find the wallpaper location in Windows 7, 8 and 10. You may check them out in his blog post Finding wallpaper location in Windows | Confidential Files!.

I’ve added John’s PowerShell script and other files in a zip file.

  1. Download Find_current_wallpaper.zip (for Windows 8 and 10) unzip and extract the contents to a folder.
  2. Move the files Find_current_wallpaper.ps1 & Find_current_wallpaper.vbs to the C:\Windows directory.
  3. Double-click the file Find_current_wallpaper.reg to add Desktop Background File Location option to the Desktop context menu.

    This option runs the PowerShell script which inturn gets the current Wallpaper name and displays it. It then offers to launch File Explorer with the current Wallpaper image selected.

  4. To launch the folder containing the current Wallpaper, click Yes.

The TranscodedImageCache registry value shows the original/source image file name in the following cases:

  1. Set the desktop background via the image file right-click menu.
  2. Set the desktop background via Personalize settings.
  3. Set the desktop background via classic Desktop Background applet.

There are several different ways to set the desktop background wallpaper in Windows. For all other methods (e.g., setting the desktop background via your web browser, Windows Photo Viewer, Photos app, etc.,), the TranscodedImageCache only stores the path of the converted (BMP or JPEG format) file path.

Related: How to Find the Current Lock Screen Image File Name in Windows 10?


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

About the author

Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.

13 thoughts on “Find the Current Desktop Background Wallpaper File in Windows 10”

  1. Different path? Wow, that’s great news indeed. This means Microsoft has finally gotten rid of ActiveDesktop. Its death was long overdue.

    Of course, REG_BINARY type makes even more sense in face of the need for performance.

  2. Hmm. It is a sloppy script, I am afraid. It is not Unicode compliant, so if you have non-English Unicode characters (say, Arabic, Hebrew, Russian or Devanagari) in the path, you’ll get trash instead of a path. It has no error handling for cases when the Registry key is absent. And it reads the path in reverse and then reverses it. Why?

    At this time, I don’t know anything about Unicode in VBScript but here is better revision:

    Set Shell = CreateObject(“WScript.Shell”)
    On Error Resume Next
    arr = Shell.RegRead(“HKCU\Control Panel\Desktop\TranscodedImageCache”)
    if Err.Number 0 then
    MsgBox (“Error ” & CStr(Err.Number) & Chr(13) & Err.Description),,”Win8 WP Curr Image Name”
    WScript.Quit
    End if
    On Error Goto 0
    a=arr

    strSingle = ” ”
    strMulti = ” ”

    For I = LBound(arr) To Ubound(arr)
    a(I) = Cint(arr(I))
    if I > 23 then
    strSingle = Chr(a(I))
    if a(I) > 0 then
    strMulti = strMulti & strSingle
    end if
    end if
    Next

    msgbox (“The Wallpaper File Name is:”&Chr(13)&strMulti),,”Win8 WP Curr Image Name”
    Wscript.Quit

  3. Sorry for bumping but I am looking at my own comment above and it does not have non-equality sign in line four, although I copied and pasted the script. The blog form must have removed it as an invalid HTML tag.

  4. FYI

    HKCU\Control Panel\Desktop\TranscodedImageCache_###

    is for people out there that have multiple monitors. It starts at 000 being monitor 1

  5. Has anyone modified this script to work with dual/multiple monitors and show the wallpaper depending on which monitor is clicked?
    Win 8.1.1 64bit keys:

    HKCU\Control Panel\Desktop\TranscodedImageCache_000
    HKCU\Control Panel\Desktop\TranscodedImageCache_001
    etc

  6. Having multiple monitors is no problem for me, thanks to this information. I have a shortcut on each monitor that runs the appropriate vbs file. I edited the file to have 000 for Monitor one’s file, 001 for monitor two’s file and so on. I double click the shortcut on the monitor I am interested in.

    What is a problem, though, is that when my PC wakes from Sleep mode, the wallpaper slide show does not change. I can manually restart the change process by re-selecting the wallpaper options or by running this vbs file:
    set WshShell = WScript.CreateObject(“WScript.Shell”)
    WshShell.SendKeys(“^ “)
    WshShell.SendKeys(“+{F10}”)
    WshShell.SendKeys(“n”)

    Any idea how I can force the wallpaper slide show to resume aftwer waking from Sleep?

  7. Although this is now an old blog entry I thought it still worth making the following post. Until recently I’ve been running Windows 7 and a few years ago as an exercise had written a simple program running with a system tray icon to discover the path to the current desktop background image. When I upgraded to Windows 10 this no longer worked of course, so I went looking and found this blog. As a result, I’ve updated my program to work for Windows 8 and beyond and to work for different images for multi-monitor environments, while also maintaining backwards compatibility with Windows 7.

    I’m sharing this program with the wider community in case anyone else likes the idea of having this as a system tray tool. It is written in C# and requires .Net framework v4, and is available as separate .zip files for x86 (32-bit) and x64 (64-bit) environments. There’s no installer, it’s just a simple executable with a readme file. Personally I start it automatically using the HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run key, but I leave that detail to you. More details are in the readme.

    The zip files are located at: http://1drv.ms/1OoQRti

    • Many thanks for this, Duncan. I used to have a small program called ‘Filepath’ which gave the path of the desktop image, but it has disappeared during a rebuild. I’m delighted to have found your program.

  8. Thank you for this information. Finally, after a lot of searches and effort, you provided a solution to allow me to see the path where the photo being displayed on my desktop slideshow was saved!!!!!

Leave a Comment