Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Increase the Maximum File Upload Size in WordPress

Our readers often ask us to help them resolve issues related to file upload limitations. This simple website setting can have unexpected effects on your site.

For example, sometimes a low file upload size limit can stop you from uploading files with the media uploader or installing larger WordPress plugins and themes. This can be very frustrating, especially when you’re not sure how to change the limit.

In this article, we’ll show you how to easily increase the maximum file upload size in WordPress to fix those issues.

How to increase the maximum file upload size in WordPress

Why Increase the Maximum File Upload Size in WordPress?

Your WordPress hosting provider will set a default maximum file upload size when you sign up and install WordPress. Your hosting provider defines this limit, and it usually ranges from 2MB to 500 MB.

For most WordPress website owners, this limit will be more than enough.

However, there are times when you’ll need to raise this limit so you don’t run into upload errors.

For example:

That being said, let’s show you how you can increase the maximum file upload size on your WordPress site.

Note: Keep in mind that displaying a lot of large files on your website can seriously slow down its speed and performance. That’s why we typically recommend never to upload videos to WordPress.

Since most users have different WordPress hosting setups, we will cover the following:

Video Tutorial

Subscribe to WPBeginner

If you’d prefer written instructions, then just keep reading.

How to Check Your Maximum File Upload Size Limit in WordPress

WordPress will automatically show the maximum file upload size limit when you are uploading images or other media.

To check this, simply go to Media » Add New in your WordPress admin panel, and you will see the maximum file upload size limit for your WordPress site.

Check current file upload size limit

Now that you know how to find the size limit, let’s show you how to increase the maximum upload size in WordPress.

Method 1: Contact Your WordPress Hosting Provider

One of the easiest ways to increase the maximum file upload size in WordPress is to reach out to your WordPress hosting provider.

This is a relatively simple task for their customer service team and can be done in a couple of minutes.

For beginners, this can be much easier than adding code to WordPress and editing server files. 

Simply head over to your hosting provider’s website, like Bluehost, and log in.

Then, click the ‘Chat’ icon at the bottom of the screen. You can then ask the support staff to increase the file upload size on your WordPress site. 

Clicking the Bluehost live chat support button in the dashboard

You can also reach out to support from within your hosting account dashboard.

Method 2: Create or Edit an Existing php.ini file

Another way to increase the maximum file upload size is by creating or editing a file called php.ini. This file controls a lot of settings for your WordPress hosting environment.

Most WordPress hosting providers like Bluehost have a beginner-friendly cPanel to help manage your website.

If your web host has a cPanel dashboard, then you can increase the file upload size through the built-in tools.

Note: The following is from the Bluehost cPanel. However, most shared hosting providers will have similar steps.

You will find a cPanel button at the bottom of the Hosting tab in Bluehost.

Open cPanel in Bluehost

Clicking this button will open your cPanel dashboard.

Now you need to scroll down to the Software section and click on ‘MultiPHP INI Editor’.

MuliPHP INI Editor in Bluehost's cPanel

Next, scroll down to the section labeled ‘upload_max_filesize’ and enter a new maximum filesize into the box.

Then, click the ‘Apply’ button.

Upload Max Filesize Setting

Alternatively, you can click the ‘Editor Mode’ menu tab, and then you can change the maximum file upload size directly in the editor.

You need to edit the ‘upload_max_filesize’ section to increase your file upload size.

Once you are finished, just click the ‘Save’ button.

Change max upload filesize in code editor

Edit php.ini by Adding Code

If your current hosting provider doesn’t offer the cPanel option, then you’ll need to edit this file manually.

To do this, you can use an FTP client or the file manager option in your WordPress hosting control panel.

If you are using shared hosting, then you might not see the php.ini file in your hosting directory. If you don’t see one, then simply create a file named php.ini and upload it to your root folder. 

Then, add the following code snippet to the file:

upload_max_filesize = 256M
post_max_size = 256M
max_execution_time = 300

You can modify the ‘256M’ limit to the file size you need for your WordPress blog.

Method 3: Add Code to Your WordPress Theme functions.php File

This method involves adding code to your functions.php file in your WordPress theme.

Instead of editing the file directly, we recommend using WPCode. It’s the best code snippets plugin that allows you to add code to your website without breaking it.

If you haven’t done this before, then see our beginner’s guide on how to add custom code in WordPress.

First, you need to install the free WPCode plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you should navigate to Code Snippets » + Add Snippet. You will need to hover your mouse over the ‘Add Your Custom Code’ option and then click the ‘Use snippet’ button.

Add a Custom Snippet in WPCode

On the next screen, you need to give your new snippet a name and change the code type to ‘PHP Snippet’.

Then you can copy and paste the following code snippet under ‘Code Preview’. Make sure you change ‘256M’ to the maximum file size you need:

@ini_set( 'upload_max_size' , '256M' );
@ini_set( 'post_max_size', '256M');
@ini_set( 'max_execution_time', '300' );
Save Your Custom Snippet in WPCode

Finally, switch the toggle at the top to ‘Active’ and then click the ‘Save Snippet’ button. The code will now be executed on your website.

Method 4: Add Code to Your .htaccess File

Another way to increase the maximum file size is by modifying the .htaccess file. This file controls the high-level configuration settings for your website.

To do this, you need to log in to your website server via FTP. If you haven’t done this before, then see our guide on how to use FTP to upload files to WordPress for beginners.

After that, you need to locate your .htaccess file in your website’s root folder. 

Open .htaccess file

If you can’t find your .htaccess file, then it could be hidden by your file manager or FTP client. To learn more, see our guide on why you can’t find the .htaccess file on your WordPress site.

Next, you need to add the following code snippet to your .htaccess file:

php_value upload_max_filesize 256M
php_value post_max_size 256M
php_value max_execution_time 300
php_value max_input_time 300

To increase your maximum file upload size even more, simply change the ’64M’ to the size you require.

Method 5: Use a WordPress Plugin to Increase File Upload Size

Another way you can increase the maximum file upload limit is by using the WP Increase Upload Filesize plugin. If you are not comfortable adding code to WordPress, then this could be a good option for you.

The first thing you need to do is install and activate the plugin. For more details, see our guide on how to install a WordPress plugin.

Upon activation, navigate to Media » Increase Upload Limit in your WordPress admin panel.

This brings you to a screen where you can select a new file upload size in the ‘Choose Maximum Upload File Size’ drop-down. 

Then, click the ‘Save Changes’ button.

Increase file upload size with plugin

Note: The maximum file upload size will be set by your hosting provider. If you need a file size limit that’s larger than the one listed in the drop-down, then you need to contact your hosting provider and ask to increase the limit. 

We hope this article helped you increase the maximum file upload size in WordPress. You may also want to see our guide on how to choose the best website builder and our expert picks of the best virtual business phone number apps with free options.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

408 CommentsLeave a Reply

  1. Abduaziz

    Thanks a lot!!! Method 3 worked for me

    • WPBeginner Support

      Glad our recommendation could help :)

      Admin

  2. Alexander Gartley

    Thanks, this helped me troubleshoot an upload limit. I’m on a Wordpress multisite network install, so it ended up being a setting in the Network Admin Settings.

    I was confused at first, because my php settings were allowing larger uploads, but it was restricted in the Network Settings.

    • WPBeginner Support

      Thanks for sharing what solved the problem for you :)

      Admin

  3. Ernesto

    Would have been great if you have included the .user.ini method.

    .user.ini uploaded in the root folder with the same value/text in your edited php.ini

    Most of the time, only this method works for shared hosting.

    ErnestPH

    • WPBeginner Support

      The php.ini file should work the same as the user.ini file unless your specific host ignores the php.ini but thank you for sharing your recommendation :)

      Admin

    • Mark

      This is the only solution that works on my shared hosting server. Thanks Ernesto!

  4. Tamir Davidoff

    Not working for me.
    I have followed this guide and double checked the php.ini file to make sure that the changed are in fact saved. changed htaccess file to increase limits. and also tried modifying the phpMyAdmin httpd-app.conf and php-settings.conf file. All of these files reflect max upload higher than 40m and my WP site does not reflect Any of these changes. Really frustrated here.

    Please help me, thanks !

    • WPBeginner Support

      If you haven’t already, you would want to reach out to your hosting provider to ensure there is not a setting on their end that is overriding what you are setting :)

      Admin

  5. rajesh

    i have tried all 3 method none of them worked. i am trying to upload newspaper theme in my in my wordpress site. but every time it show that php.ini file upload max file size.
    plz help me

    • WPBeginner Support

      You would want to reach out to your hosting provider to ensure they don’t have a setting that is overriding the changes you made.

      Admin

  6. Adam Walsworth

    Watchout for hidden php.ini files. In my setup I found 2 of them. The one which I found actually resolved the issue was found under

    ./etc/php/7.0/apache2/php.ini

    modifying this file fixed my issue.

    • WPBeginner Support

      Thanks for sharing your solution, with where that file is located we would recommend most users reach out to their hosting provider before looking in locations like that.

      Admin

  7. Rafiq khan

    Thanks buddy i have solved my problem by adopting method 2 by editing my php.ini file
    Thanks alot you are working great

    • WPBeginner Support

      Glad our article could help :)

      Admin

  8. Carla

    None of the above worked for me. A matter of fact, editing the htaccess file broke my site even after deleting the above code. Overwriting with a new file fixed the problem though.

    I have a dedicated server on Bluehost. What worked for me was going in the WHM root, not cpanel nor FTP access. Search for MultiPHP INI Editor. Give it at least 5 minutes to load if you only see the title and icon. You can set you upload time, post size, etc. there. Works instantly, even if your site is using Cloudflare, without placing it in development mode or clearing the cache. I hope this helps someone.

    • WPBeginner Support

      Thank you for sharing what worked for you, should other users be on a dedicated server, if they reach out and let BlueHost know the need to increase the upload size then BlueHost can normally edit that for them :)

      Admin

  9. Pezza

    Great Stuff! .htaccess worked for me!

    • WPBeginner Support

      Thank you, glad our guide could help :)

      Admin

  10. ReineR

    htaccess metod worked for me, thanks!

    • WPBeginner Support

      Glad our article could help :)

      Admin

  11. Ahmed

    Work for me

    3. htaccess Method

    you need to click (show hidden files to view and edit this file).

    • WPBeginner Support

      Glad our article could help :)

      Admin

  12. rahul

    when i tried this
    Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.
    this happened to me
    whats the solution of this

  13. Ephraim

    I had been trying php.ini method but it never works please how will I set it..
    Or you should please tell me the were to paste at function.php

    • WPBeginner Support

      You would normally use a text editor to set the content in the php.ini file. For your functions.php it should go at the end normally so it can be removed later as needed. You may also want to check with your hosting provider if you are having trouble with these methods for if they can assist in increasing the file size for you.

      Admin

  14. Ivos G.

    None worked for me. But this one fixed it – add to your .htaccess this line:

    LimitRequestBody 104857600

    • WPBeginner Support

      Thanks for sharing your solution for this issue :)

      Admin

  15. Achilleas

    I am using Nginx and i had already setup properly the values for php in the php.ini but what fixed it was puting the same value in the server block with the variable client_max_body_size xxxM;

    I am writing this hoping it will help someone.

  16. RAHUL

    That worked for me thanx

    • WPBeginner Support

      Glad our tutorial could help :)

      Admin

  17. Adriana Sabo

    None of the options worked for me. Nothing happened when I tried the first two, and the last one prompted an error 500. Any way you can help?

  18. Carl

    Very helpful, thank you!

  19. Md. Rana

    The third option is worked for me. :)

  20. Tom Allen

    The above explanation is fine for hosted sites, bit what about us guys that locahost? I still can figure out the “upload_max_filesize” error when downloading Updfaftplus from WP Plugins or from a download zip file. I am a beginner and need hand-holding through this process. Help is appreciated.

  21. crystal

    hta access worked.
    you guys must put the code before #END Wordpress
    if you put after #end wordpress then site goes to 500 internal server error in my experience with godaddy hosting

    • Luis Felipe Lino

      Thanks.

  22. Jaime Lopes

    On most of the shared cPanel sites I’ve setup:

    -changing .htaccess brings the whole site down (500 internal error)
    -adding php.ini or php5.ini files does nothing
    -there is no option to choose ‘Site Software’ in cPanel…

  23. Joseph

    Thanks so much. The .htaccess file worked for me

  24. John S

    Thanks so much. The .htaccess file worked for me!

  25. Karina

    Thanks you so much!!! The .htaccess version worked for me :D

  26. Megan

    Thank you! This was a huge help! I couldn’t even upload plugins because my limit was pre-set at 2MB…Now I’ve got it to 64MB and am able to work.
    Thanks!

  27. Okimi Solomon

    Thanks a lot. The second option worked for me. God bless you

  28. Benj

    Modifying .htaccess file worked for me. Thanks a lot..

  29. Martin Croker

    On vidahost (now TSOhost).

    Adding the following php.ini worked for me… however (and I’m still a bit confused why), just putting it at http root didn’t work – I had to duplicate the php.ini file inside wp-admin and wp-include directories within wordpress.

  30. Kabelo

    Very helpful. Thanks very much.

  31. Dwayne S

    I’m on HostGator and currently having issue with max execution time. It occurred a few weeks ago and HostGator support fixed the issue. It now reappeared and support is telling me that they can’t fix it because I’m on shared server. The agent even crashed my site by manually editing the htaccess file and didn’t verify if it was working or not. He did however recommend a plugin that would edit the htaccess file with code to increase the limit but it doesn’t work. I guess HostGator blocks it

  32. Jessany

    I added the code into the .php functions folder, and now Wordpress will not load. How do I fix this problem??

    • WPBeginner Support

      Hi Jessany,

      You can delete the code you added by accessing your website via FTP or File Manager in cPanel.

      Admin

    • bala

      upload the above given code to .htaccess file it is working

  33. Caleb

    I have GoDaddy hosting and contacted them to help me increase my file upload size. It was a piece of cake — I didn’t have to create any files, add code to my theme, or anything like that. So for those of you who have GoDaddy or cPanel type controls, forget hacks and just use your admin settings.

    Here’s what support had me do:
    1. Go to your cPanel Admin (a similar hosting panel ‘might’ work somewhat the same)
    2. Scroll down to the ‘Software’ and click on ‘Select PHP Version’
    3. Click on ‘Switch to PHP Options’ in the top right And TADA! There’s all your PHP Options!
    4. Just go down and change the ‘post_max_filesize’ and ‘upload_max_filesize’ to whatever you want, apply and save your changes, and you’re now a safe and happy non-coding website owner.

    Good luck!

    • ZafB

      Thanks that worked perfect

    • Alissa

      Thank you for posting this! It worked great!

    • Alejandra

      Thanks a lot! That worked indeed!!

    • Paul Palmer

      Brilliant solution – worked perfectly and easily! Many thanks.

    • Rich Perozich

      This worked for me but in order to even find these files, I had to call godaddy where I was walked through these steps or I never would have been able to navigate to the cpanel Admin without their help.
      1. Sign on to godaddy
      2. Click on my products upper left
      3. Under web hosting click manage all
      4. Click web hosting with C panel
      5. Click C panel Admin icon
      6. Scroll down to Software and click Select php version
      7. Click on switch to php options
      8. At bottom of page click on the number upload_max_filesize and select # you wish as the max filesize
      9. Click apply. It works. Now file sizes can be uploaded to the selected max.

  34. Chris Sandford

    Multisite Users:
    If your a dumb dumb like me, you may have tried everything to no avail.
    Don’t forget if you’re using Wordpress Multi-site, to change the upload settings for individual sites.
    Network Admin > Settings > Max upload file size

    You may still need to use the tips in this article, but without changing the upload settings for multi-site, you won’t know if it’s working.

    • Stef Thoen

      You’re my hero. I’ve been researching this issue for way to long until I finally saw your post. Thanks so much.

    • Ron

      Thank you for this! This should be in the body of this article!

    • Hitesh L.

      WORKED! kudos to you!!!!!!!

  35. Emanuel Pietri

    Method 3 – with .htaccess – works fine for me with theme

  36. Stefanos Kargas

    Thanks!! I changed .htaccess file and it worked.

  37. haadi

    hi. thanks a lot. the 3rd one worked for me

  38. Jim R

    Option 2 worked good. Thanks for the info.

  39. Tor Helge

    It worked when I did the last one with .htaccess

  40. mara

    Anyone on here get this to work with Godaddy? There are very unhelpful. I know I need to create the php.ini file, (and I did), but none of the solutions you posted worked. Any help is appreciated.

  41. WangTuanJie

    after 3 method, i couldn’t see success.

  42. Mahadi

    Thanks man!! .htacces worked for me!

  43. Lynn

    Wish you wouldn’t assume everyone looking for this solution knows what you mean by our “Theme Functions File” – do you mean functions.php? I’m not an expert, and I’m really good at following precise directions, and don’t want to even put a toe in the water of editing files if I don’t know EXACTLY what file you’re talking about! No clues were provided, like what other code I might look for in the file to know I’m in the right place, etc. So…this didn’t help me at all :-(

      • Justin

        Yea, but where does it go in the functions.php. At the top, bottom, in the middle? Inside the “”

  44. jack

    thank you all those steps helped me

  45. Alex

    Thank you, method 3 really worked for me
    php_value upload_max_filesize 64M
    php_value post_max_size 64M
    php_value max_execution_time 300
    php_value max_input_time 300

    • vikram

      HI

      Do you use shared hosting

  46. shahrin

    great! htaccess method work for me. I’m so relieve,guys! Thanks in advance

  47. Samba Siva

    .htaccess method worked for me :)

  48. nelson

    htaccess worked for me ,thank you

  49. Sagar

    php.ini is worked for me.
    cheers.
    thnks man !!

  50. Mituka

    This worked for me.

    Open your .htacess file with notepad.

    Skip everything you see and at the bottom.

    Paste the following and save.

    php_value upload_max_filesize 64M
    php_value post_max_size 64M
    php_value max_execution_time 300
    php_value max_input_time 300

    • Thomas

      Where exactly did you paste it?

      # BEGIN WordPress

      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ – [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]

      # END WordPress

      php_value upload_max_filesize 64M
      php_value post_max_size 64M
      php_value max_execution_time 300
      php_value max_input_time 300

      Is it before the #END WordPress statement? ( I get error when I do that)

      Or should it be after the #END WordPress statement?

      • WPBeginner Support

        Hi Thomas,

        You need to paste it at the end of your .htaccess file after the #END WordPress line.

        Admin

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.