A 2 MB upload cap can stop a simple image update in its tracks. That small number is your WordPress upload limit, and it can turn a five-minute task into a frustrating support ticket.

Your WordPress upload file size limit is usually set by your hosting environment and PHP settings, not by WordPress itself. The good news is that you can often raise it in a few minutes without touching anything risky.

At ZADiC, we believe hosting should remove roadblocks, not create them. Start by finding the setting that is actually holding your site back.

What Sets the WordPress Upload File Size Limit

WordPress shows the upload limit, but it doesn’t always control it. Think of it like a doorway with several locks. Raising one lock won’t help if another one stays closed.

Check the number WordPress reports

Open your WordPress dashboard and go to Media > Add New. Near the upload area, WordPress displays the maximum file size it currently accepts.

Write that number down before changing anything. If it says 8 MB and you need to upload a 25 MB product video, you know the cap is the problem. If it says 64 MB but your file still fails, something else is getting in the way.

You can also check Tools > Site Health > Info > Server for PHP details. The WordPress community troubleshooting guidance shows why upload limits vary so much between hosts and server setups.

Find the layer that owns the limit

Most WordPress upload problems come from one of these places:

  • PHP limits set by your hosting account or server.
  • A Multisite network cap set by the network administrator.
  • Web server rules such as Apache, Nginx, or LiteSpeed settings.
  • A security layer that blocks a large request before WordPress sees it.

The reported WordPress upload limit is the visible result. Your hosting configuration is often the source. Make a current backup before editing settings, then change one method at a time.

Match the PHP Settings That Control Uploads

PHP controls how large an uploaded file can be and how long the server gives it to finish. One setting alone isn’t enough.

Use values that work together

These settings should be sized as a group. For a 64 MB file upload target, this is a sensible starting point:

PHP settingWhat it controlsStarting value
upload_max_filesizeMaximum size of one uploaded file64M
post_max_sizeTotal size of the upload request72M
memory_limitMemory PHP can use during processing128M
max_execution_timeTime PHP can run before timing out300

The post_max_size value needs to be larger than upload_max_filesize. File data, form fields, and request overhead all count toward that total.

Raising upload_max_filesize to 64M won’t help if post_max_size remains 32M. The smaller rule still blocks the upload.

Pick a limit your site can support

Don’t set every value to 1 GB because it feels safer. A larger cap lets users send larger files, but it doesn’t add server memory, disk space, or upload speed.

Set the limit around the files you need to upload. A site importing large theme packages may need 64 MB or 128 MB. A site that only adds compressed images may need far less.

A bigger WordPress upload limit should solve a real need. It shouldn’t open the door wider than necessary.

Raise the WordPress Upload Limit in cPanel

For many shared hosting accounts, cPanel is the cleanest place to make this change. You don’t need a plugin, and you don’t need to edit WordPress core files.

Change PHP values in MultiPHP INI Editor

Inside cPanel, look for MultiPHP INI Editor. Some hosts use a slightly different name, but the purpose is the same: it lets you adjust PHP settings for a domain.

  1. Open MultiPHP INI Editor and select the domain running WordPress.
  2. Find upload_max_filesize, post_max_size, memory_limit, and max_execution_time.
  3. Enter matching values, such as 64M, 72M, 128M, and 300.
  4. Save the changes, wait a few minutes, then return to Media > Add New to confirm the new limit.

If you manage several domains, make sure you select the right one. Changing the limit for a parked domain won’t help the live WordPress site.

Get hosting support when controls are locked

Some shared hosting plans lock PHP values at the server level. In that case, pasting random code snippets into WordPress can create more trouble than progress.

Our ZADiC WordPress hosting options pair cPanel access with one-click setup, backups, security services, and 24/7 human support. If your business depends on larger media files, migrations, or product assets, you need a hosting team that can check the real server limit and help fix it.

Use a Configuration File When cPanel Isn’t Available

A configuration file can work well when your host permits local PHP overrides. It can also be the right option when cPanel doesn’t expose the setting you need.

Try a .user.ini file first

Open your hosting File Manager and locate the WordPress root folder. This is the folder containing wp-config.php, wp-admin, wp-content, and wp-includes.

Create or edit a file named .user.ini. For a 64 MB upload target, add upload_max_filesize = 64M, post_max_size = 72M, memory_limit = 128M, and max_execution_time = 300.

Some servers take several minutes to read a changed .user.ini file. Check the Media screen again after waiting, then test with a real file below the new cap.

A helpful comparison of .user.ini and .htaccess upload methods explains why the right file depends on the server running your site.

Use .htaccess with care

The .htaccess method is for Apache-based hosting that allows PHP directives in that file. Nginx doesn’t read .htaccess, and some hosts block these changes even on Apache.

A bad line in .htaccess can trigger a 500 server error. Back up the file first. If the site errors after your edit, remove the added lines and use cPanel or hosting support instead.

We don’t recommend relying on wp-config.php as your first choice. Many hosts disable PHP overrides from WordPress files, so the change may do nothing.

Adjust Multisite Upload Caps Separately

WordPress Multisite adds one more rule to the mix. You can raise PHP limits and still hit a smaller network-wide upload cap.

Check Network Admin settings

Go to My Sites > Network Admin > Settings > Network Settings. Find the Upload Settings area and look for Max upload file size.

This field uses kilobytes. For a 64 MB limit, enter 65536. Save the setting, then test from a subsite dashboard.

The network setting can’t override a lower PHP limit. PHP still needs to allow at least the same file size, with enough room in post_max_size for the full request.

The Multisite upload cap overview is useful if the network setting and server setting don’t match.

Keep the policy practical

Network administrators should set limits based on what member sites truly need. A portfolio network may need higher image limits. A network with many casual contributors may need tighter controls.

File size isn’t the only rule. WordPress can restrict file types, while your hosting account can still run out of available storage. A higher upload cap doesn’t remove those limits.

Fix Upload Errors That Aren’t Size Problems

Sometimes you raise the limit and the upload still fails. That’s your signal to read the error instead of raising every number again.

Match the error to the likely cause

Common upload failures point to different layers:

  • An HTTP 413 error often points to a web server, proxy, or security rule.
  • A 500 error after editing configuration files usually means the server rejected a directive.
  • A message naming the maximum file size points back to PHP or Multisite settings.
  • An upload that starts but fails later may involve a timeout, low disk space, or an unstable connection.

Check your hosting error logs if they’re available. The exact error message can save hours of guesswork.

Know when better hosting is the answer

A larger limit doesn’t make a crowded server faster. Bulk imports, WordPress backup restores, high-resolution media libraries, and large WooCommerce catalogs need more than a bigger number in PHP.

That is where a hosting upgrade can make sense. Our managed Web Hosting Plus and VPS plans give growing sites more room to handle demanding work, while our support team can help you choose the right path.

A bigger plan isn’t a shortcut around every issue. It does give your site more breathing room when large files are part of the job.

Keep Larger Uploads Safe and Sensible

Larger uploads are useful, but they should stay controlled. A 500 MB file can fill storage quickly, slow down backups, and create a long failure if the connection drops near the end.

Set limits around real file needs

Use the smallest practical cap for your workflow. A site importing full WordPress backups needs a different allowance than a brochure site with a few image galleries.

Review who can upload files, too. Limit administrator access, keep WordPress updated, and use security monitoring to catch suspicious activity before it becomes a bigger problem.

Treat uploads and backups differently

An uploaded file is not a backup. Before changing PHP settings or importing a large archive, confirm that you have a recent backup you can restore.

For public video, a dedicated video platform can be a smarter fit than filling the WordPress Media Library with huge files. Your website stays lighter, and visitors get a better viewing experience.

A Better Upload Experience Starts With the Right Limit

That frustrating 2 MB message isn’t a WordPress dead end. Check the displayed cap, match the PHP settings, and adjust the hosting or Multisite rule that is actually blocking the file.

The right WordPress upload limit is large enough for your work and sensible for your server. With dependable hosting behind it, uploads stop feeling like a fight and get back to being a routine part of running your site.

We use cookies so you can have a great experience on our website. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Who we are

Our website address is: https://zadic.net.

Comments

When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection. An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year. If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser. When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed. If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website. These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue. For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.
Save settings
Cookies settings