How to Find the Current Wallpaper File Name and Path in Windows 10/11

If you’re using the 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/11.

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

How to Find the Current Desktop Wallpaper

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/11

When you set a wallpaper of any image 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:


transcodedwallpaper themes jpg

Type the above folder path in the 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.


The file naming convention is 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’ve set the desktop background wallpaper via Windows Photo Viewer, then the transcoded JPEG file is 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.

Using Desktop Background applet in Windows 10/11

The classic Desktop Background applet in Windows 10 shows the currently selected desktop background file name with the 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

Using the Registry Editor in Windows 10/11

The reference to the current desktop wallpaper may exist in one or 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/11

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


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 on the Personalize background settings page in Windows 10.

background wallpaper history personalize window

Find the current wallpaper file using VBScript

We have an article that determines the Wallpaper source in Windows 7 (Refer: 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.

Our reader “raveren” came up with a script for Windows 8 and Windows 10. Check out the following link:

Note that Unicode isn’t supported by VBScripts. These scripts won’t function correctly if the Wallpaper path contains non-English characters.

Find the current wallpaper file using PowerShell script

You can use PowerShell to decode the TranscodedImageCache wallpaper filename. Here’s the command-line that does the job:

$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'

Thanks to John Dangerbrooks for the following PowerShell script (supports Unicode) that helps you decode the TransCodedImageCache registry value and locate/select the wallpaper file in File Explorer. The script works in Windows 7 through Windows 11. You may also read John’s blog post Finding wallpaper location in Windows | Confidential Files!.

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

  1. Set the desktop background via the image file’s right-click menu.
  2. Set the desktop background via Personalize settings.
  3. Set the desktop background via the 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.

Context Menu (optional)

You can also add a “Find Current Wallpaper” command to the Desktop right-click menu using the .reg file below.

Windows Registry Editor Version 5.00

@="Find Current Wallpaper"

@="powershell.exe -nologo -ExecutionPolicy Bypass -command find_current_wallpaper.ps1"

Copy the above contents to Notepad and save the file with the .reg extension. Then double-click the .reg file to run it.

Then, copy John’s PowerShell script file “find_current_wallpaper.ps1” (mentioned earlier in this article) to the C:\Windows folder.

find current wallpaper in windows 10

Clicking on the option will start the PowerShell script which in turn locates the current desktop wallpaper for you quickly.

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. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded in 2005.

17 thoughts on “How to Find the Current Wallpaper File Name and Path in Windows 10/11”

  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”
    End if
    On Error Goto 0

    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

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

  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

  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(“^ “)

    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:

    • 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!!!!!

  9. In Windows 7 you can locate at this path C:\Users\username\AppData\Roaming\Microsoft\Windows\Themes

  10. Const HKCU = &H80000001 'HKEY_CURRENT_USER
    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
                & ".\root\default:StdRegProv")
    sKeyPath = "Control Panel\Desktop\"
    sValueName = "TranscodedImageCache"
    oReg.GetBinaryValue HKCU, sKeyPath, sValueName, sValue
    sContents = ""
    For i = 24 To UBound(sValue)
      if sValue(i) = 0 and sValue(i+1) = 0 then exit for
      sByte = sValue(i)+sValue(i+1)*256
      sContents = sContents & ChrW(sByte)
    CreateObject("Wscript.Shell").Run "explorer.exe /select, """ & sContents & """"
  11. Very useful, Thank you so much.

    winkey+R = Run command
    paste this ->
    shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921} -Microsoft.Personalization\pageWallpaper

    Classsic window personalization will appear
    find teh path above your current wallapaper.

    May God bless you!


Leave a Comment