"This item was encoded in a format that's not supported" (0xc00d5212)

Windows raises 0xc00d5212 for two very different reasons: either your player is missing a codec for a perfectly healthy file, or the file's container is damaged. The fix depends entirely on which — so the first job is to tell them apart, and the second is to know what's actually broken inside.

You try to open a video in Windows Media Player or the Movies & TV app and get: "Can't play. This item was encoded in a format that's not supported. 0xc00d5212." This is a playback error, not a diagnosis — it means Windows couldn't decode what it found inside the container (AVI, MKV, MOV or MP4). There are two root causes with two different fixes: a missing/mismatched codec (the file is fine), or an actually corrupt container (the file needs repair). This page helps you tell which, shows what "corrupt" means at the atom level, and — when it's genuine damage — rebuilds the container in your browser with nothing uploaded.

Your file never leaves your device — repair runs in your browser. 0 bytes uploaded.

Your data is the big block — usually intact. What breaks is the small index. Repair rebuilds it.

Drop a file here or browseTap to choose a file

ZIP · Office · PDF · video · JPG · PNG · RAR/7z · SQLite — repaired right here in your browser. Nothing is uploaded

0 bytes uploadedFree: 3 repairs/day — up to 500 MB video, 100 MB docs & archives, 50 MB photos. Free download. Single repair €5.90. No account required.

Fix it now

  1. Drop the file
  2. Repair runs locally
  3. Download the result

Cause 1: a codec gap (the file is fine)

A video file is a container (the .mp4, .mkv, .avi or .mov wrapper) holding streams encoded with a specific codec. Windows only decodes the codecs it ships with — and the list is shorter than people expect. Out of the box Windows 11 handles H.264/AVC, VC-1, WMV and AAC/MP3; the common gaps that trigger 0xc00d5212 need a (usually free) Microsoft Store extension:

  • HEVC / H.265 — needs the HEVC Video Extensions. This is the single most frequent cause: phones and modern cameras default to HEVC to save space, and a clean HEVC MP4 throws 0xc00d5212 on a stock Windows install.
  • AV1 — needs the free AV1 Video Extension (YouTube/streaming re-encodes increasingly ship AV1).
  • VP9 — needs VP9 Video Extensions or Web Media Extensions (common in .webm).
  • Legacy AVI codecs — identified by their FourCC tag inside the stream header: DIV3/DX50 (DivX), XVID (Xvid), FMP4/MP4V (MPEG-4 ASP). These predate Windows' built-in decoders.
  • Older MOV codecs — ProRes (FourCC apcn/apch/ap4h), Cinepak (cvid), Motion-JPEG (mjpg) and Apple Animation. Windows ships none of these.

The tell is decisive: the same file plays fine in VLC (which bundles its own decoders) or on another device. If it does, you have a codec gap, not damage — install the right extension or just use VLC, and you're done. No repair tool (this one included) can add a codec to your system, so rule this out first and don't try to "fix" a healthy file.

What "corrupt" means at the atom level

MP4 and QuickTime MOV are the same underlying format — a tree of atoms (also called boxes), each a 4-byte length followed by a 4-byte type. Three matter here. ftyp comes first and declares the brand (isom, mp42, qt  ) — the fingerprint a player checks to know how to read the rest. mdat is the bulk of the file: the raw, encoded video and audio samples, with no structure of their own. moov is the index that makes mdat playable.

Inside moov, each track (trakmdiaminfstbl) carries the sample tables a decoder needs to locate every frame: stsd (which codec, and its configuration), stts (how long each sample lasts), stsc (how samples group into chunks), stsz (the size of every sample) and stco/co64 (the byte offset of every chunk — co64 is the 64-bit form for files over 4 GB). Corrupt or lose any of these and Windows can't work out what to decode, so it reports the generic 0xc00d5212 — even though the actual video bytes in mdat may be completely intact.

This is exactly what happens to an unfinalized recording. A camera, dash-cam or phone app writes ftyp and streams samples into mdat as it records, and only writes moov when you press stop. Cut the power first — a dead battery, a yanked card, a crashed app — and you get a large file with all the footage but no index at all. Nothing is "damaged"; the map was simply never written.

The fix: rebuild the index, or route to the right code

If the video also fails in VLC, opens to audio-only, shows a 0:00 length, or won't open anywhere, the container is the problem — and that's what a rebuild fixes. Drop the file above and the tool inspects the atoms in your browser, finds the surviving samples in mdat, and reconstructs the stbl tables and chunk offsets a player needs — regenerating the missing moov for an unfinalized recording, or correcting bad offsets and zero-length durations for a truncated one. It works on MP4 and MOV alike, since they share the atom structure, and produces a file that opens again.

One more check before you repair: make sure 0xc00d5212 is really the code you're seeing, because Windows has a family of near-identical media errors with different fixes.

  • 0xc00d5212 — "format not supported": the codec case above, or a broken container.
  • 0xc00d36c4 — "can't play; this might not be supported, the file extension might be incorrect, or the file might be corrupt": more often an extension/container mismatch. See fixing 0xc00d36c4.
  • 0xc00d36e6 — Windows can't find a codec to download for the item (a pure codec-availability message, not a corruption one).

If the specific symptom is a missing or damaged moov atom — the unfinalized-recording case — the dedicated moov-atom repair page walks through it in detail.

What this can and can't fix

Can fix

  • A damaged MP4/MOV that fails everywhere (including VLC) because its moov index or sample tables are broken or missing
  • An unfinalized recording — ftyp and mdat present, no moov — where the stbl tables are regenerated from the surviving samples
  • Wrong chunk offsets (stco/co64), bad sample sizes (stsz) or zero-length duration (stts) in the container index
  • Truncated or partially-downloaded video, salvaging the frames that arrived

Can't fix

  • A healthy file that only fails because Windows lacks the codec (install the extension / use VLC — nothing to repair)
  • Adding a missing HEVC, AV1 or VP9 extension to your Windows install (that's not a file repair)
  • The part of a truncated download that never arrived
  • Files that read as 0 bytes or mostly zeros

If a repair fails, we tell you why (missing data versus broken structure), and you are never charged for a failed repair.

FAQ

How do I know if 0xc00d5212 is a codec problem or a broken file?

Open the same file in VLC. If it plays, the file is fine and you just need the right codec extension (or keep using VLC). If VLC also fails, opens audio-only, or won't load it, the container is likely damaged and a rebuild of its index is the fix.

The file plays in VLC but not in Windows Media Player. Should I repair it?

No — that's a codec gap, not damage. Installing the matching Store extension (for example the HEVC Video Extensions for H.265, or the free AV1 Video Extension) or simply using VLC solves it. Repairing a healthy file achieves nothing.

My camera died mid-recording and now the file won't play. Is the footage gone?

Usually not. When a recording is cut off before you press stop, the camera has written the raw samples (the mdat) but never wrote the moov index. The frames are there — the map is missing. The tool reconstructs that index from the samples so the file plays again; see the moov-atom page for the detail.

Do I have to upload the video to fix it?

No. The file is read from your disk and rebuilt in your browser tab; nothing is transmitted. You can confirm 0 bytes leave your machine in the browser's Network tab.

Related: Fix error 0xc00d36c4 · Rebuild a missing moov atom · Repair MP4 (any source)