What causes a manifest load error

A manifest load error means your video player cannot find or read the file that tells it where to get the video. The manifest is a text file — usually in a format called M3U8 or MPD — that contains a list of video segments and their locations. When the player tries to load this file and fails, playback stops.

The error happens for three main reasons: the manifest file itself is broken or incomplete, the server hosting it is unreachable or rejecting the request, or the player is looking in the wrong place because a URL is malformed or has expired.

Key Takeaways

  • A manifest file tells your video player where to find video segments; if the player cannot read it, playback fails with a load error.
  • Check whether the manifest URL is correct, whether the server is online, and whether any authentication tokens or credentials have expired.
  • Clearing your browser cache and cookies often fixes the error because old or corrupted manifest data prevents the player from fetching a fresh copy.
  • If you are hosting the video yourself, verify that the manifest file exists on your server and that your web server is configured to serve it with the correct MIME type.
  • Streaming services and video platforms sometimes block playback from certain regions or devices; check your account settings and network location before assuming the manifest is broken.

Check the manifest URL and server status

Open your browser's developer tools by pressing F12 or right-clicking the video player and selecting Inspect. Go to the Network tab, then try to play the video. Look for a request to a file ending in .m3u8 or .mpd — that is the manifest file. Click on it and check the response status code in the right panel.

A status of 200 means the file loaded successfully; the error is elsewhere. A status of 404 means the file does not exist at that URL. A status of 403 means the server rejected the request, usually because authentication failed or your IP address is blocked. A status of 500 or 503 means the server itself is down or overloaded.

If the URL is wrong, check whether you copied it correctly or whether it contains query parameters that have expired. Many video services include time-limited tokens in the manifest URL; if the token expired, the server rejects the request. Refreshing the page often generates a new token.

Clear your browser cache and cookies

Cached manifest files can become corrupted or outdated, causing the player to load stale data. Clear your cache by pressing Ctrl+Shift+Delete on Windows or Command+Shift+Delete on Mac. Select Cached images and files and Cookies and other site data, set the time range to All time, and click Clear data.

After clearing, close all tabs for that website and open it again in a fresh tab. The player will fetch a new manifest file from the server instead of using the old cached version. This fixes the error in roughly half of cases where the manifest itself is not actually broken.

Verify the manifest file exists on your server

If you are hosting the video yourself, log into your web server and confirm that the manifest file exists in the directory where the player is looking for it. For HLS streams, the file should end in .m3u8. For DASH streams, it should end in .mpd. Check the file permissions — the web server process must have read access.

Next, verify that your web server is configured to serve the manifest with the correct MIME type. For .m3u8 files, the MIME type should be application/vnd.apple.mpegurl. For .mpd files, it should be application/dash+xml. If the MIME type is wrong, the player may reject the file even though it exists.

In Apache, add these lines to your .htaccess file in the directory containing your manifests:

AddType application/vnd.apple.mpegurl .m3u8 AddType application/dash+xml .mpd

In Nginx, add these lines to your server block in nginx.conf:

types {   application/vnd.apple.mpegurl m3u8;   application/dash+xml mpd; }

Check CORS and authentication settings

CORS (Cross-Origin Resource Sharing) is a browser security rule that blocks requests to files on a different domain unless the server explicitly allows it. If your video player is on one domain and your manifest is on another, the browser blocks the request and the player shows a manifest load error.

To fix this, configure your web server to send the correct CORS headers. In Apache, add this to your .htaccess:

Header set Access-Control-Allow-Origin "*"

In Nginx, add this to your server block:

add_header Access-Control-Allow-Origin "*";

If your manifest requires authentication — a username, password, or API key — make sure the player is sending the correct credentials. Check the Request Headers tab in your browser's developer tools to see what the player is actually sending. If the credentials are missing or wrong, the server rejects the request.

Test with a different player or device

Try playing the same video in a different video player to narrow down whether the problem is with your player or with the manifest itself. VLC Media Player, FFmpeg, and online HLS players like hlsplayer.net can all read manifest files. If the video plays in another player, the manifest is fine and the error is in your original player's configuration or code.

Also try playing the video on a different device or network. Some streaming services block playback from certain regions, VPNs, or device types. If the video plays on your phone but not your computer, or plays at home but not at work, the issue is likely a network or account restriction rather than a broken manifest.

Verify the manifest file is valid

A manifest file is plain text, so you can open it in any text editor to check whether it is formatted correctly. For HLS manifests (.m3u8), the file should start with #EXTM3U on the first line. For DASH manifests (.mpd), it should be valid XML starting with <?xml or <MPD.

If the manifest is truncated, contains garbage characters, or is missing required fields, the player cannot read it. Regenerate the manifest using your encoding software — FFmpeg, Handbrake, or your streaming platform's tools. Make sure the encoding process completed without errors before the manifest was written to disk.

You can also validate an HLS manifest by pasting its URL into an online HLS validator. Search for "HLS validator" or "M3U8 validator" to find tools that check the manifest syntax and report specific errors.

Frequently Asked Questions

Why does the error say "manifest load error" instead of telling me what is actually wrong?

Video players show a generic error message because they do not know the root cause — the manifest could be missing, the server could be down, authentication could have failed, or CORS could be blocking the request. The developer tools Network tab shows the actual HTTP status code, which tells you which of these is happening.

Does clearing cookies really fix manifest errors?

Yes, but only if the cached manifest data is corrupted or if the player is using an old authentication token stored in a cookie. If the manifest file itself is broken or the server is down, clearing cookies will not help. Clear cache first; if the error persists, the problem is on the server side.

What if the manifest URL contains a token that expires?

Refresh the page to generate a new token. If the token is embedded in the URL and expires while you are watching, the player will fail partway through. This is normal behavior for some streaming services. If it happens repeatedly, contact the service to ask whether they can issue longer-lived tokens or whether you need to refresh the page less frequently.

Can I fix a manifest load error if I do not have access to the server?

If you are watching a video on someone else's platform, you cannot fix the server-side problem yourself. Try clearing your cache, refreshing the page, checking your network connection, and testing on a different device. If the error persists across devices and networks, contact the platform's support team — the manifest file or server is broken on their end.

Does a manifest load error mean the video file is corrupted?

No. The manifest is a separate file that tells the player where to find video segments. A broken manifest prevents playback from starting, but the video file itself may be fine. Once you fix the manifest or the server, the video will play normally.