NS_E_WMP_PNG_UNSUPPORTED_BITDEPTH (0XC00D1029) fix
Windows Media Player can't play a PNG if its bit depth isn't 24 or 32. This error shows up when you try to open a grayscale or indexed PNG as video.
When does this error actually happen?
You're trying to open a PNG file in Windows Media Player—maybe an exported frame from a video editor, a screenshot, or a slide from a presentation. Instead of playing, you get an error dialog: "Windows Media Player cannot play the file. The Player might not support the file type or the codec that was used to compress the file." The details show NS_E_WMP_PNG_UNSUPPORTED_BITDEPTH (0XC00D1029).
I've seen this most often with PNGs saved from Photoshop or GIMP using 8-bit grayscale mode, or with indexed-color PNGs ripped from old web graphics. The player just sits there, refusing to touch the file.
What's actually happening here?
Windows Media Player has a built-in PNG decoder, but it's picky. It only supports two PNG bit depths: 24-bit truecolor (8 bits per channel, RGB) and 32-bit truecolor with alpha (8 bits per channel, RGBA). That's it. No 8-bit grayscale, no 8-bit indexed, no 16-bit grayscale, no 48-bit RGB. The error code literally translates to "PNG bit depth not supported."
The player reads the PNG's header, sees a bit depth or color type it doesn't understand, and bails out with 0XC00D1029. It's not a codec problem—it's a hardcoded limitation in the player's PNG parser. Microsoft never bothered to expand support for other PNG variants, because WMP was never meant to be a full image viewer.
The reason step 3 below works is that you're re-encoding the PNG into a 24-bit RGB file—exactly what WMP expects.
How to fix it
You have one real solution: convert the PNG to a compatible bit depth. Don't waste time reinstalling codec packs or editing the registry—that won't change the player's internal decoder.
Option 1: Convert with Paint (no tools needed)
- Open the problematic PNG in Microsoft Paint (mspaint.exe)—it handles all PNG variants.
- Go to File > Save As > PNG picture.
- Paint automatically flattens to 24-bit RGB. Overwrite the original or save a new copy.
- Try opening the saved file in Windows Media Player. It should work now.
Paint strips alpha transparency too. If you need the alpha channel preserved, use Option 2 instead.
Option 2: Convert with ImageMagick (preserves alpha)
If you need 32-bit RGBA (with transparency), ImageMagick's convert command is the cleanest route. Install ImageMagick from imagemagick.org, then run:
convert input.png -define png:color-type=6 output.png
The color-type=6 flag forces 8-bit RGBA (32-bit total). WMP can handle that. If you don't need transparency, use color-type=2 for 24-bit RGB.
You can batch convert all PNGs in a folder with a loop:
for %f in (*.png) do convert "%f" -define png:color-type=6 "%~nf_fixed.png"
Option 3: Check file extension (dumb but common)
Occasionally the file is actually an animated PNG (APNG) or a different format entirely that was mislabeled as .png. Check the file size—if it's oddly large for a still image, it might be APNG. WMP can't play APNG either. In that case, extract the first frame with ImageMagick:
convert input.png[0] -define png:color-type=6 output.png
What if it still fails?
If the converted PNG still triggers the error, you've got something else going on. Check these:
- Is the file actually corrupt? Open it in a proper image viewer (IrfanView, XnView, or even your browser). If the viewer chokes, the file is bad. Re-export from the source.
- Is WMP itself busted? Run
sfc /scannowfrom an admin Command Prompt to check system files. A corrupt wmp.dll or pngfilt.dll can cause weird errors. - Are you trying to play a PNG sequence as a video? WMP doesn't support that natively. Use VLC or MPV instead—they handle PNG sequences without fuss.
- Try a different media player. Honestly, WMP hasn't been updated in years. VLC, MPC-HC, or PotPlayer all handle PNGs at any bit depth. If this is a recurring workflow issue, switching players saves you the conversion step every time.
The bottom line: 0XC00D1029 is WMP telling you your PNG is too exotic for it. Convert to 24-bit or 32-bit RGB, and you're done. No registry hacks, no codec packs. Just a simple re-encode.
Was this solution helpful?