WordPress has no single fixed upload limit. On a self-hosted site it's the smaller of two PHP settings, upload_max_filesize and post_max_size, set by your host. On WordPress.com, files up to 2 GB upload reliably. You can see your own limit at the bottom of the Media Add New screen.
Check your own number in ten seconds
Go to Media, then Add New. At the bottom of the screen there's a line telling you the maximum upload size for files, as set by your hosting provider. That's your real answer, and it's the first thing I'd check before you blame a plugin or the file itself. If the number shown is smaller than the file you're trying to add, the upload will fail however many times you try, and the fix sits with your host's settings, not with WordPress.
Why can't anyone give you one number? Because the software doesn't set it. Your host does, and the limit differs between self-hosted sites and WordPress.com.
Upload limits by site type
| Item | Limit | Applies to |
|---|---|---|
| Self-hosted upload limit | The smaller of upload_max_filesize and post_max_size, set by the host | Self-hosted WordPress |
| Web server body limit | client_max_body_size must be at least the PHP limit (sample: 13m) | nginx servers |
| Reliable upload size | 2 GB | WordPress.com media library |
| VideoPress video | 6 GB | VideoPress block on WordPress.com |
| Single file versus storage | Can't exceed remaining site storage | WordPress.com |
| Where your limit is shown | Bottom of the Media Add New screen | WordPress admin |
Three settings that all have to agree
On a self-hosted site, the wp_max_upload_size() function returns the smaller of the PHP upload_max_filesize and post_max_size values. The developer reference on Developer.WordPress.org explains why raising upload_max_filesize alone often changes nothing: if post_max_size stays lower, that's the number you'll see.
On nginx there's a third gate. The official nginx example notes that the PHP upload limit can't be larger than the web server's client_max_body_size, and its sample sets that to 13m. So a host can raise both PHP values and your upload still fails at the web server. When you ask your host for a bigger limit, ask them to check all three.
Developers have one more lever. The result passes through a filter called upload_size_limit, which receives the combined value plus both PHP values in bytes, so code can change what WordPress reports. It can't lift the host's real PHP and server caps, though.
What happens at the limit on WordPress.com
WordPress.com Support says files up to 2 GB upload reliably. Larger files can fail partway, because bigger files take longer and many networks end an upload that runs too long. Your remaining storage also caps things: you can't upload a file bigger than the space left on your site.
For video, the VideoPress block supports files up to 6 GB. For sites on the Business and Commerce plans, a large file can be sent with SFTP instead of the browser. And file types matter as well as size: only the listed types are accepted, which the support page says protects your site from unsafe files, and contact forms accept a different set.
Hosting big files somewhere else
Cloudinary's large file upload method sends files in chunks and is required for anything over 100 MB. The default chunk is 20 MB and can be set as low as 5 MB.
Mux Direct Uploads give a browser an authenticated upload URL, and large files can go up in chunks that must be a multiple of 256KB, with pause and resume.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
For simpler options, my list of free video hosting platforms is a good place to start, and my pick of WordPress plugins worth installing covers the media side.
My advice for heavy media sites
Don't treat your media library as a video vault. Keep images and PDFs in WordPress, check the limit on the Add New screen, and host big video elsewhere then embed it. Your pages will load faster, your backups stay small, and you'll stop fighting upload errors every time a client sends a large file.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
Where do I see my WordPress upload limit?
At the bottom of the Media Add New screen, which shows the maximum upload size set by your host.
Why does it use the smaller of two values?
Its function takes the minimum of the PHP upload_max_filesize and post_max_size settings.
What's the limit on WordPress.com?
Files up to 2 GB upload reliably, and the file also has to fit in your remaining storage.
Can I upload a very large video?
On WordPress.com, the VideoPress block supports video files up to 6 GB. On self-hosted sites the host's limit applies.
Can code change the limit?
The value passes through the upload_size_limit filter, but the host's PHP and web server limits still apply.


