WordPress Maximum Upload File Size: Who Actually Sets It

Sep 17, 2026

WordPress core does not define a maximum upload file size. There is no field in the admin where that number lives, and the official documentation never states a default figure — it points at your host instead.

That is worth saying up front, because almost every article on this keyword opens with a number. The official pages open with a shrug, and understanding why gets you to a working fix much faster.

The limits, at a glance

Where you are uploadingWhat the official docs state
Self-hosted, single siteNo number given — "as set by your hosting provider"
Self-hosted, the value displayedThe smaller of upload_max_filesize and post_max_size
Multisite network settings"Limit total size of files uploaded to [ 50 ] MB"
Multisite, per file"Max upload file size — Default is [ 1500 ] KB"
WordPress.com, normal uploads"You can reliably upload files up to 2 GB"
WordPress.com, VideoPress block"The maximum upload size is 6 GB"

WordPress.com storage is a separate ceiling, listed per plan: Free 1 GB, Personal 6 GB, Premium 13 GB, Business or Commerce 50 GB. Three footnotes matter if your account is old — free sites created before 31 March 2022 include 3 GB, Business or Commerce plans purchased before 20 July 2023 include 200 GB, and some pre-2019 plans without hosting access activated include unlimited storage.

Note the wording on the 2 GB figure: the official page says you can reliably upload up to that size. It is not stated as a hard cap.

Where the number on your screen comes from

The WordPress.org documentation for the Media Add New screen describes it plainly:

"You will also see a message displayed at the bottom of your view that indicates maximum upload size for files, as set by your hosting provider."

And the Settings Media screen — the place people go looking for it — has exactly one option under "Uploading Files", and it is about folder organisation, not size.

So where does the displayed value actually come from? The core function reference answers it. wp_max_upload_size() is documented as "Determines the maximum upload size allowed in php.ini," and its body is short enough to read in full:

function wp_max_upload_size() {
	$u_bytes = wp_convert_hr_to_bytes( ini_get( 'upload_max_filesize' ) );
	$p_bytes = wp_convert_hr_to_bytes( ini_get( 'post_max_size' ) );
	return apply_filters( 'upload_size_limit', min( $u_bytes, $p_bytes ), $u_bytes, $p_bytes );
}

Three things follow directly from that code, with no guesswork:

  1. The number is the smaller of two PHP directives. The source calls min() on upload_max_filesize and post_max_size. Raising one while the other stays low changes nothing on screen.
  2. It reads php.ini, not the WordPress database. Both values arrive through ini_get().
  3. It is filterable. The return value passes through an upload_size_limit filter, so a plugin or theme can report a different number than PHP would.

The Advanced Administration Handbook explains what each directive governs. On the first: "The limit on the size of individual file uploads can be configured using the upload_max_filesize php.ini directive." On the second: "The limit on the entire size of a request that can be sent from the web server to PHP for processing can be configured using the post_max_size php.ini directive. The value for post_max_size must be greater than or equal to the value for upload_max_filesize."

Read that requirement carefully — greater than or equal to, not strictly greater. And the handbook adds the constraint most tutorials skip: "Bear in mind that on shared hosting accounts, those limits are usually set on a server level and you may not be able to modify them or increase them above a certain value."

The official docs do not publish any snippet for changing these values from inside WordPress. If you need to raise them, check the official documentation for your server environment, or ask your host.

What to do when a file is refused

The fastest route, and the one the official help pages actually recommend, is to make the file smaller before it reaches the uploader. The WordPress.com guidance for a large file that will not upload lists it first: "Compress the file to reduce its size, then upload it again." The upload troubleshooting page says the same about formats — "you should convert them to a valid file type before uploading."

Try it right here

Runs in your browser. Your file is not uploaded anywhere.

Loading tool…

The same troubleshooting page adds a sizing rule of thumb: "Consider compressing your files and only uploading the size you need. Most website visitors use a screen resolution of 1920 x 1080 or lower, so anything larger might be unnecessary unless your site focuses on high-quality images, such as photography or art-based sites, where image quality is a priority." If the source is a QuickTime file from a Mac or iPhone, MOV to MP4 handles the container conversion in the same place, and the rest of the Clapr tools cover audio and subtitle formats.

Two other routes are documented, and both are narrower than they look. WordPress.com lists a third option for oversized files — "On the Business and Commerce plans, transfer the file with SFTP" — which is plan-restricted by definition. And for images specifically, the same support centre gives a performance target rather than a limit: "most images should be under 200 KB to 500 KB," with anything over 2 MB noticeably slowing page loads. That is advice about speed, not a rule the uploader enforces.

Gotchas that catch people out

Multisite has a second, much lower gate. The Network Admin Settings screen documents a "Max upload file size" whose "Default is [ 1500 ] KB" and a site upload space limit of 50 MB. The official docs do not state how that interacts with your PHP values, so check both places before concluding your host is at fault.

max_input_time is the directive that governs upload duration, not max_execution_time. The handbook describes it as "usually used to limit the amount of time allowed to upload files," and notes the time "is separate from max_execution_time."

Backend memory is explicitly tied to uploads. The handbook says the separate backend memory option "is mainly required for media uploads," with a documented WordPress default of 256 MB for the backend and 40 MB for the frontend (64 MB on Multisite).

A failed upload does not eat your storage. This is the question people ask after three failed attempts at a large video, and WordPress.com answers it directly: "Failed attempts don't count against your storage space limit." The same page also names the usual culprit for those failures — "a slow or unreliable internet connection can limit the size of your video upload" — and suggests trying again at a different time of day or from a faster connection.

On WordPress.com, one common error is not about size at all. The official list of upload error messages says of "This file cannot be processed by the web server." — "The file type is not supported. This message is not about the file's size."

Video uploads on WordPress.com are plan-gated, and the gate depends on the block. The Video block is documented as "available on the Premium plan and above," while VideoPress "is available on sites with the WordPress.com Business and Commerce plans." So the 6 GB VideoPress ceiling is not something a Premium site can use.

FAQ

What is the default maximum upload file size in WordPress? WordPress does not publish one. The official Media screen documentation says the limit is "as set by your hosting provider," and no WordPress.org page states a default figure. Any specific number you see quoted is a host's default, not WordPress's.

Where do I change the maximum upload file size in WordPress settings? You cannot. There is no size option in Settings Media. The displayed value comes from the upload_max_filesize and post_max_size directives in php.ini, and on shared hosting those are often set at server level where you cannot change them.

Why does my Multisite install stop uploads far below my PHP limit? Multisite adds its own network-level controls. The Network Admin Settings screen documents a per-file "Max upload file size" that defaults to 1500 KB and a 50 MB site upload space limit, both independent of your PHP configuration.

What is the maximum upload size on WordPress.com? The official page states you can reliably upload files up to 2 GB, and that VideoPress has a maximum upload size of 6 GB. Your plan's storage is a separate constraint — you cannot upload a file larger than the storage space remaining on your site.

Will compressing my video before upload hurt quality? WordPress's official documentation does not state this either way — no WordPress.org or WordPress.com page makes a quality claim about compressing before upload. What the help pages do say is that compressing is the first thing to try when a file is refused: "Compress the file to reduce its size, then upload it again." Compress first, check the result, and only then go looking for a way to raise the server limit.


All figures above are quoted from WordPress.org, developer.wordpress.org and the WordPress.com support centre, checked 16 September 2026. For more on platform ceilings, see the limits guides.

Clapr team

Clapr team

WordPress Maximum Upload File Size: Who Actually Sets It | Clapr Blog