When building and maintaining a website, you’re bound to encounter some unexpected HTTP errors here and there. Problems like these are tough to avoid, and some are trickier to resolve than others.
If you’re experiencing a "413 Request Entity Too Large" error, the good news is that this issue is quick and simple to address — you just need to do a bit of server reconfiguration. And no, you don’t need to be a technical expert. Let’s learn how.
What does “413 Request Entity Too Large” mean?
A 413 HTTP error code occurs when the size of a client’s request exceeds the server’s file size limit. This typically happens when a client attempts to upload a large file to a web server, and the server responds with a 413 error to alert the client.
Web servers place size limits on uploads to prevent users from overwhelming the server and exceeding storage permissions. This limit usually isn’t an issue, and common website files should stay well under it. However, especially large file uploads may occasionally exceed the limit, resulting in a message like this:
While you can reduce the size of your upload to get around the error, it’s also possible to change your file size limit with some server-side modification.
How to Fix a “413 Request Entity Too Large” Error
Your default upload size limit will depend on how your server is set up. In this guide, we’ll show you how to fix a 413 error by increasing your size limit with a WordPress setup, as well as with an Apache or Nginx server configuration.
All methods require some edits to your server files, so we recommend creating a backup before attempting the steps below.
Themes and plugins are common causes of the 413 error with the WordPress content management system. Fortunately, there are several ways to increase your WordPress upload size limit enough to let these larger files through. As long as you do not exceed the limits of your hosting plan, you can try any of the following:
The easiest method to increase your upload limit is by modifying your server’s PHP.ini file. Here, you can change your limit through the cPanel interface without any coding. To do this:
1. In your cPanel menu, select MultiPHP INI Editor under Software.
2. In the window that appears, choose your domain from the dropdown menu.
3. Change the values of the following parameters to your preference:
- max_execution_time (maximum time to upload, in seconds)
- upload_max_filesize (maximum upload size, in megabytes)
- post_max_size (maximum post size, in megabytes)
4. When finished, click Apply.
If your WordPress site is hosted on an Apache server, it’s also possible to increase your server’s limit via .htaccess, a file that contains many directives for the server. See the solution below.
You can also try increasing your size limit via the functions.php file of your current WordPress theme.
If you want to make this change permanent, we recommend trying the above approaches first. With this approach, you’ll need to update functions.php whenever you update or change your current theme.
1. In your cPanel menu, select File Manager under Files.
2. Navigate to the folder of your current theme inside your root WordPress directory (public_html by default). Open this theme file.
3. Select functions.php and click the Edit icon.
4. Copy the code below and paste it at the end of the file
@ini_set( ‘upload_max_size’ , ’64M’ );
@ini_set( ‘post_max_size’, ’64M’);
@ini_set( ‘max_execution_time’, ‘300’ );
5. Click Save.
This code sets the maximum allowed size of your WordPress uploads and posts to 64 megabytes. You can change this number to something larger or smaller if you need, as long as you do not exceed your hosting plan's storage limit.
It also sets the maximum period your uploads can take to 300 seconds. Feel free to change this as well.
Nginx server settings can be modified inside the file nginx.conf. Open this file and check for the directive client_max_body_size. Then, change the value (in megabytes) to your maximum file size preference.
If you do not see this directive in nginx.conf, you can add it to the end of a server, location, or http block like so:
This allows for a 64-megabyte upload. Set this number to your preference, save the file, then reload Nginx for the change to take effect.
Change the size limit on an Apache server by updating your .htaccess file like so:
1. In your cPanel menu, select File Manager under Files.
2. In your root WordPress directory (public_html by default), locate .htaccess. Depending on your settings, the .htaccess file may be hidden.
3. Select .htaccess and click the Edit icon.
4. Copy and paste the code below at the bottom of your .htaccess file:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
5. Click Save and reload Apache.
Doing this sets the maximum allowed size of your WordPress uploads and posts to 64 megabytes and sets the maximum file upload time to 300 seconds. You can change both of these values to your preference.
Still getting a 413?
After trying one or more of the solutions above, you still may encounter a 413 error when uploading large files, even if these files are below your new size limit.
In this case, the issue may stem from your CDN's servers or some other restriction set by your hosting provider. First, reach out to your hosting support, detailing the problem and the steps you've taken so far to resolve it. It may be that you've exceeded your plan's file size limit without realizing. Or, your configurations may have inadvertently caused another error.
If you use a CDN to improve your site's performance, this may also be the cause of your issue — the CDN servers you're using may impose file size limits that are too small. Since you probably can't modify these servers' files directly, you consult the documentation for your CDN provider or contact product support to resolve the error.
If all else fails, consider uploading alternative files, reducing the size of your current file, or upgrading your storage plan. If you find yourself needing to upload a massive amount of data, more likely than not there's a workaround.
Fixing a 413 Error
While HTTP errors can be frustrating, many are quickly solvable including a 413. By finding and tackling this issue now, you’ll have one less thing to worry about while building out your website. If your site allows users to upload their own content, changing your upload size limit solves this problem too — just make sure you’re not exceeding the limits set by your hosting plan.
As for the best option, we recommend WordPress users modify their server’s PHP.ini file first if possible, since this can easily be done through your hosting panel. Otherwise, choose the option that matches your server software.
This post was originally published in January 2021 and has been updated for comprehensiveness.