HTTP error (media upload) WordPress Origin: Application & API Last updated 13 Oct 2026

WordPress Media: “HTTP error.” when uploading images

The upload request failed on the server — memory or timeout during image processing, upload size limits, ModSecurity, or Imagick issues.

Exact message you may see HTTP error uploading image wordpressmedia upload HTTP error
Seen on: WordPress

Meaning

The generic “HTTP error.” hides a server response like 500/413/403. Large images trigger memory/time limits while generating sizes; Imagick with limited threads/resources can crash.

Common causes

  • PHP memory/time limit while resizing large images
  • Upload size limits (upload_max_filesize, Nginx client_max_body_size)
  • ModSecurity/WAF blocking the upload
  • Imagick resource issues

⚡ Quick fix

  1. Check the browser network tab and server logs for the real status
  2. Raise memory_limit/max_execution_time and size limits
  3. Try switching the image editor to GD (filter wp_image_editors)

Detailed fix by platform

WordPress

  1. add_filter('wp_image_editors', fn() => ['WP_Image_Editor_GD', 'WP_Image_Editor_Imagick']);

PHP

  1. php
    ; php.ini
    memory_limit = 256M
    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 120

How to diagnose

  1. Status — Network tab response code
  2. Logs — PHP/Nginx error log
  3. Size — Image dimensions/megapixels

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

100 — HTTP 100 Continue (HTTP)100413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413413 (Cloudflare 100 MB) — Cloudflare 413 Request Entity Too Large (upload over the plan limit) (Cloudflare)413 (Cloudflare 100 M…417 — HTTP 417 Expectation Failed (HTTP)417autoplay blocked — NotAllowedError: play() failed because the user didn't interact with the document first. (JavaScript)autoplay blockedBadDigest — Upload error: checksum mismatch (BadDigest / Content-MD5 did not match / XAmzContentSHA256Mismatch) (API)BadDigestEntityTooLarge — S3 EntityTooLarge: Your proposed upload exceeds the maximum allowed size (AWS)EntityTooLargefile type is not permitted — WordPress: Sorry, you are not allowed to upload this file type / Sorry, this file type is not permitted for security reasons (WordPress)file type is not perm…HTTP erro…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.