0XC00D1036

NS_E_WMP_JPG_BAD_VERSION_NUMBER (0XC00D1036) — Internal Version Error Fix

Windows Media Player throws 0XC00D1036 when it hits a JPEG with a corrupt or non-standard header. Here's how to fix it fast and stop it coming back.

You're trying to open a photo, or a slideshow, in Windows Media Player and it just dies with 0XC00D1036 — annoying, especially since WMP isn't even a photo app.

The Fix (Do This First)

The real fix is to identify the offending JPEG and repair its header. WMP is choking on a version byte inside the JPEG's SOF (Start of Frame) marker that it doesn't recognize. Fix the header, and WMP plays the file without complaint.

Step 1: Find Which File Is Triggering It

If you're opening a single image, you already know. If it's a slideshow or a folder full of photos, you don't. WMP stops on the first bad file and gives up, so you need to isolate it.

  1. Open the folder in File Explorer.
  2. Switch the view to Details (View menu, or Ctrl+Shift+6).
  3. Right-click any column header and enable Date modified and Size.
  4. Look for any JPEG under 4 KB. These are usually truncated or header-only files from a failed download or a half-finished camera write.

If nothing stands out, drag files into WMP one at a time until it throws 0XC00D1036 again. That file is your culprit.

Step 2: Repair the JPEG Header

Open the file in a hex editor — HxD is free and small, and you probably don't have one installed. Once it's open, look at the first bytes. A valid JPEG starts with:

FF D8 FF E0 00 10 4A 46 49 46 00 01 ...

If you see FF D8 FF E1 (EXIF) or FF D8 FF E8 (SPIFF) instead of FF D8 FF E0, that's fine — those are valid too. The problem is the byte sequence further in, inside the SOF0 marker (FF C0), where the sample precision and version fields live.

What you're looking for: after FF C0, the next byte should be 00 11 (length), then 08 (sample precision — always 8 for baseline JPEG), then two bytes for height, two for width, then 01 for component count. If any of those version-adjacent bytes are garbage — like 0x0A where 0x08 should be — WMP rejects the file with 0XC00D1036.

Fix it by overwriting the bad byte with 08. Save the file. Try opening it in WMP again.

Step 3: If You Don't Want to Hex-Edit

Honestly, hex-editing is overkill for most people. Use ImageMagick instead — it re-encodes the JPEG and produces a clean, standard header:

magick bad-photo.jpg -strip fixed-photo.jpg

The -strip flag removes EXIF and any non-standard metadata that could confuse WMP. On older builds, the command is convert instead of magick:

convert bad-photo.jpg -strip fixed-photo.jpg

After running it, you should see fixed-photo.jpg sitting next to the original. Double-click it. WMP should open it without the error.

Step 4: Clear WMP's Library Cache

Sometimes the bad file is already indexed, and WMP keeps trying to load a cached thumbnail. Wipe the cache:

  1. Close Windows Media Player completely.
  2. Press Win+R, type %LOCALAPPDATA%\Microsoft\Media Player and hit Enter.
  3. Delete the contents of that folder. It's safe — WMP rebuilds it next launch.
  4. Reopen WMP. It'll take a minute to rebuild the library.

Why This Actually Works

JPEG files carry a version identifier in the SOF marker. WMP's JPEG decoder is old — it was written for baseline JPEG and hasn't been meaningfully updated since the Vista era. When it sees a version byte it doesn't recognize (usually because the file was written by a camera with a custom encoder, a broken download, or a tool that stripped bytes incorrectly), it bails out with 0XC00D1036 rather than trying to guess.

By re-encoding with ImageMagick, you're regenerating the header from scratch using libjpeg's encoder, which writes the version byte WMP expects. Hex-editing the byte directly does the same thing, just without recompressing the pixel data.

WMP is not a photo viewer. It has a photo viewer bolted on. That's why it's so picky about JPEG headers that every other app happily ignores.

Less Common Variations

The File Opens Fine in Photos App But Not WMP

That confirms the file is technically valid but uses a feature WMP's decoder doesn't support — progressive JPEG, arithmetic coding, or a 12-bit sample. Re-encode with -interlace none:

magick bad-photo.jpg -interlace none -strip fixed.jpg

Every JPEG in a Folder Fails

That's not a file problem — that's a codec registration problem. Something overwrote WMP's JPEG decoder. Run this from an elevated Command Prompt:

regsvr32 /s "C:\Program Files\Windows Media Player\wmp.dll"

If that doesn't fix it, check HKEY_CLASSES_ROOT\.jpg in regedit. The default value should be jpegfile. If another app hijacked it, restore it.

Error Appears When Burning a Slideshow to DVD

WMP's DVD Maker path uses a stricter decoder than the library view. Pre-process every JPEG through ImageMagick's -strip before importing. It's tedious but it eliminates the error entirely.

Preventing It

The root cause is almost always a bad source file. Cameras with flaky SD cards write truncated JPEGs. Browser downloads that get interrupted save partial files. Photo sync tools sometimes copy files mid-write. Each of those produces a JPEG with a broken header that only picky decoders catch.

  • Format camera SD cards in the camera, not in Windows.
  • Don't eject USB drives while photos are still copying.
  • If you process JPEGs in scripts, always run them through magick -strip before feeding them to WMP or DVD Maker.
  • Stop using WMP for photos. It's a media player with a photo feature, not a photo tool. The Photos app, IrfanView, or XnView MP handle the same files without complaint.

The error code itself is a dead giveaway once you've seen it a few times — WMP only throws 0XC00D1036 when the JPEG version byte is wrong. Fix the header, move on, and if you see it twice in a week, suspect your card reader or your download manager.

Related Errors in Windows Errors
0XC0000128 STATUS_FILE_CLOSED (0XC0000128) – The Quick Fix Guide 0X000002A0 Fix ERROR_PNP_TRANSLATION_FAILED (0x000002A0) on Windows 0XC000A012 Fix STATUS_HOPLIMIT_EXCEEDED 0xC000A012 on Windows 10/11 0XC0000016 STATUS_MORE_PROCESSING_REQUIRED (0XC0000016) – What It Means

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.