Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
WordPress Plugins
View all Guides

How to Increase the Maximum File Upload Size in WordPress

Last updated on by
Special WordPress Hosting offer for WPBeginner Readers
How to Increase the Maximum File Upload Size in WordPress

Depending on the web hosting company you choose and the package you select, each of you will see maximum file upload limit on your Media Uploader page in WordPress. For some it is as low as 2MB which is clearly not enough for media files like (audio / video). Most pictures are under 2MB, so it is fine for just pictures. In this article, we will show you how to increase the maximum file upload size in WordPress.

Media File Size Limit

Note: This is an intermediate level tutorial. It may not work with some shared hosts in which case you would have to ask your hosting service provider for support. We use HostGator, and they are more than helpful when it comes to issues like this.

1: Theme Functions File

There are cases where we have seen that just by adding the following code in the theme function’s file, you can increase the upload size:

@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '64M');
@ini_set( 'max_execution_time', '300' );

2. Create or Edit an existing PHP.INI file

In most cases if you are on a shared host, you will not see a php.ini file in your directory. If you do not see one, then create a file called php.ini and upload it in the root folder. In that file add the following code:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

This method is reported to work for many users. Remember if 64 doesn’t work. Try 10MB (sometimes that work).

3. htaccess Method

Some people have tried using the htaccess method where by modifying the .htaccess file in the root directory, you can increase the maximum upload size in WordPress. Open or create the .htaccess file in the root folder and add the following code:

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

Again, it is important that we emphasize that if you are on a shared hosting package, then these techniques may not work. In that case, you would have to contact your web hosting provider to increase the limit for you. Some hosts completely turn down their users. We recommend that you use HostGator. Their support folks are very helpful in these situations.

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »


  1. Matt says:

    Thanks. I want to also know how to make a website portal using wordpress. Any information from you will be highly appreciated.

  2. marta says:

    Thanks. For me htaccess Method did his job :)

  3. Rifqi Arief says:

    Thanks Bro, Its Work On My Free Hosting via .htacess

  4. RT says:

    Please try below steps as well after creating the php.ini

    (1) Go to My Sites -> Network Admin -> Settings from WordPress admin dashboard.

    (2) Uncheck the checkbox for “Site upload space: Limit total size of files uploaded to 10 MB” and Save changes.

    (3) Done.



  5. Abhishek says:

    I’m on goddady hosting, none of the 3 solutions worked for me.
    But some users reported .user.ini file worked for them in goddady.
    can anybody tell me where to put this file?
    I have tried root folder and wp-admin folder nothing worked.

  6. Raman Gutyan says:

    htaccess Method is working great in my localhost.

    Thanks for sharing.

  7. DVR says:

    If you are hitting a wall. Go to your host. Advance setting for PHP. Scan the code looking for max upload & file size. Change it to your required setting.


    See NICOLAS’ reply above.

  8. Jeet Patel says:

    THank you so much it’s working really :)

  9. Silentnight says:

    Thank u so much… I increased my uploading size.

  10. Gopi krishnan says:

    For me, this is not working, but i did this in htaccess file in this way,

    php_value post_max_size 10M
    php_value upload_max_filesize 40M
    php_value memory_limit 500M

    This works !

  11. Michael Serovey says:

    I have my websites hosted with GoDaddy and so far, NONE of the above suggestions have worked! I have paid for this plugin and now I that I wasted my money!

    • Paul says:

      To avoid the plugin upload limit you can just upload the plugin with filezilla to your plugin directory. After uploading you can extract the zip file in the file manager and after you have done this the plugin is visible and ready to activate in your admin –> plugin panel

      Hope this helped.


      • Pooya says:


        This worked perfectly for me!

        and it is MUCH easier and more reliable than any of those methods.

        just go to File Directory under the cPanel -> Public-html -> [ you site folder] -> wp-content ->themes or plugins

        Then upload the zip file here and extract it.

        login to your wp-admin dashboard. and bam, you got yourself the theme or plugin.

  12. Nicolas says:

    Just go to your hosting control pannel -> Advanced -> PHP Settings -> upload_max_filesize ( it usually is on 2M you can change it up to 8M in my case… the point is that it shouldn’t be higher than your post_max_size)
    You are welcome!

  13. Steven Gliebe says:

    functions.php is not the best place to put the code because raising the PHP max upload size limit is unrelated to a specific theme. Users shouldn’t be changing theme files directly anyway. wp-config.php is probably a better place. The .htaccess or php.ini method is even better (or just ask the host).

  14. Stephanie says:

    php.ini needs to be in wp-admin folder. This article states it needs to be in the root, which I tried but it made no difference. FYI

    Thank you for the information!

    • Aaron says:

      Thanks so much for your reply Stephanie. Your information was exactly what I needed.

      • Mike Serovey says:

        So far, NONE of the above suggestions have worked. My control panel does NOT allow me to change the PHP Settings, modifying the .htaccess created an internal server error and modifying the theme failed to work as well. Have any other suggestions?

        • Mike Serovey says:

          With GoDaddy hosting, I discovered that I needed to use the lines of code that someone posted for the .user.ini file and then refresh my browser and recheck the plugin about three times each before the thing FINALLY worked!

    • Robert says:

      Thank you! ini file need to be uploaded in wp-admin folder.

    • Emmanuel Parbey says:

      Thank you.

      It worked perfectly.

    • Somnath says:

      @Stephnie Thanks a Lot .It Workz

    • Sorin says:

      In wp-admin put php.ini and work

    • Angel Rodriguez says:

      This worked for me as well.

  15. Prabhat says:

    yes this is helpfull

  16. Matt says:

    Worked Immediately! Thanks! By the way if anyone else wants to know, my host is BlueHost and I am using a Genesis Theme.

  17. Panagiotis Sakalakis says:

    Using the .htaccess I got an Internal Error, and then I just removed the code and it fixed. After that, I created a php.ini file in /public_html/wp-admin, pasted the code and saved it. Everything’s work like a charm now and I can upload my files just fine without any problem.

  18. Umesh Shejole says:

    Yes, Useful……

  19. Subin Babukuttan says:

    htaccess worked fine .thanks 4 d post

  20. hol says:


    Does anyone know why if the PHP.INI file is changed as mentioned why when the file has completed to 100% nothing happens and it displays http error.

    I can upload small files and small videos.
    I cant upload anything bigger than say 200mb

    I had this working and accepting larger files then I had a restore done on website.

    I have changed the PHP.INI…

    Is there any reason why just large files don’t work ?

    do I need to edit the hta.access file ?


  21. Ian says:

    .htaccess method worked for Media Temple grid hosting, others didnt affect it, just in case anyones wondering…

  22. Jay says:

    (In my case the problem was with WP MULTISITES)..,

    1. check your hosting limits (although this was not my problem) make sure your hosting allows the limit you are trying to set ie if on a shared hosting you might find the maximum is 64M.

    NOTE: The following solution may also apply If in WordPress, Maximum upload file size will not change even when changed in the php.ini file etc.

    The 1M max upload problem lies with WP MULTISITES default settings!!

    To change this, do the following to change the Maximum upload file size within WP admin:

    1. At the top, hover over My Sites and then click Network Admin.
    2. At the left, hover over Settings and then click Network Settings.
    3. Scroll to the bottom of the page and change the Max upload file size to whatever you would like in KB.
    4. Click Save Changes.

    Hope this helps :)

  23. AmanDeep Singh says:

    Working !.I use Create or Edit an existing PHP.INI file method and after applying the settings as mentioned in the article now i am able to upload themes and plugins which are large in size.Thanks for sharing solution.

  24. Judy says:

    I am new to WordPress, I usually use Joomla but I have a new client that wants a WordPress site. When trying to upload images the WordPress message was that the file limit was 3Mb. I spent hours searching websites for an answer. I am using WAMP and localhost to create the site. Through localhost phpinfo() I could verify which php.ini was active, the one in Apache. I had a file limit of 64Mb but still WordPress had a 3Mb limit. This site gave the instructions under #3 to edit the .htaccess file in the WordPress folder. I copied and pasted the text into this file and IT WORKED! Thank you wpbeginner.

  25. KenSanDiego says:

    forgot to mention, my WP site is in a subdirectory with a domain pointer. Powweb’s php applies to everything in all subdirectories. So if you have any installations in subdirectories the change applies to all installations.

  26. Ugyen Zangmo says:

    Create php.ini in wp-admin folder

    In the file put the following 3 lines:

    upload_max_filesize = 2048M
    post_max_size = 2048M
    max_execution_time = 3000

    Goto to your website as admin and check the upload new media page, it should now display Maximum upload file size: 2 GB.

    Thanks to Yasir Imran for sharing your tip!

    This worked for me. Thank you James for sharing the Yasir Imran tip. Cheers

    • sadiq says:

      it is not working i have done same
      in godaddy server

    • Raton Miah says:


    • Brendan says:

      That was a great tip… it worked for me.. thanks!

    • Ben says:

      Holy crap! Thanks so much man, after the last wordpress update to 4.3.1 my upload size reverted back to the default of 50 MB even though my php.ini, .htaccess, and wp-config.php files hadn’t changed and were still reflecting a max upload size of 512 MB! You’re a hero!

    • Alain says:

      Thank you very much!
      I tried ALL of the three methods with no results.
      I asked the webhost and the raised the limit to 40 MB.
      Then, finally, I tried yours and it worked fantastically!

  27. dominio público says:

    post_max_size should be larger than upload_max_filesize to allow room for other information. The defaults are 2MB max file size and 8MB max post size.

    From PHP’s documentation:

    post_max_size integer
    Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize.

  28. Nori says:

    Thanks for this! Tried the php.ini and I am quite surprised it worked and was so easy

  29. Dan says:

    php.ini file worked perfectly for me. I simply changed the existing values to 100M. All good. Thanks for the advice.

  30. James says:

    Create php.ini in wp-admin folder

    In the file put the following 3 lines:

    upload_max_filesize = 2048M
    post_max_size = 2048M
    max_execution_time = 3000

    Goto to your website as admin and check the upload new media page, it should now display Maximum upload file size: 2 GB.

    Thanks to Yasir Imran for sharing your tip!

  31. Zain says:

    Please tell me the names of best themes for softwares/download sites?
    i am waiting.

  32. Markus Aurelius says:

    Nothing of the above worked for me on GoDaddy so I had to use .user.ini instead of php.ini and that worked fine. Thanks for pointing me in the right direction!

  33. sam says:

    1:- open “C:wampbinapacheapache2.4.9bin” folder and find “php” which is a configuration file and open it in ur notepad and again find “upload_max_filesize” and “post_max_size” and change both and save.

    2:- open “C:wampbinphpphp5.5.12” folder and find “php” and “phpforapache” which are configuration file and open both in ur notepad and again find “upload_max_filesize” and “post_max_size” and change both and save.

    3:- finally restart all services of wamp and enjoy…lov u all

  34. Decb says:

    Hi Guys, I’m REALLY new to this but can you look at what I see when I click to edit the .htaccess file – where do i add the code? at the start? at the end? Do I put my cursor at the begining and click return (then put it in) ??? Please help

    • Gerard ONeill says:

      Deb, it wouldn’t matter where you added it; but make sure its outside of a block. To be safe, just add it at the end.

      However, the better way (as of php5.5) is to modify the .user.ini file in a per directory basis. If you did the top level directory, it would apply to all sub directories (unless overridden).

      And obviously the system wide php.ini works too.

  35. BenPDX says:

    +1 for Alex’s solution. Upload php.ini folder to wp-admin folder worked for me on Lithium Hosting. 30 second Google search and 1 min to create text file and upload to server!

  36. Dede Erik says:

    I choice the third method and this is worked to me, thanks so much

  37. Hasan Tareq says:

    .htaccess works for my wpenigne site

  38. Vineesh says:

    Hi alex, you are right. php.ini file should be added to wp-admin folder. It will work perfectly…. thanks alex

  39. Rafael says:

    Just adding the php.ini file into wp admin folder worked perfectly!!! thanks!

  40. chandan says:

    thnx alot Alex this worked for me to..

  41. Tony_atf says:

    I keep getting http error even with your suggestion. im on godaddy I have filesize 300m but anything over 150Mb chokes. it uploads, sits for a few seconds and then the http error displays. wordpress never shows the error.

  42. WPBeginner Staff says:

    You can connect to your website using an FTP client and undo the changes you made.

  43. Nitesh Magan says:

    Hey I added the 1st code to my theme function file, but now everything on my site went blank. I cant even access my wp-admin of my site !!

    Please Help …

  44. Chris says:

    If you’re just trying to upload files yourself in the admin panel (media), make a new plain text document, save it as whatever name (including extension) of the large file you’re trying to upload. So if you’re trying to upload “,” save a blank text document as Upload this blank text file you just created in WordPress. Then, go to FTP or file manager, go to wp-content/uploads/(whatever year it is)/(whatever month it is). You should fine there. Delete that file (which is just a plain text file) then upload the real, making sure the names match up. Then when you go back to media it will be the right file.

  45. Yasir Imran says:

    I tried htaccess method and found 500 internal server error, then placed php.ini with 3 given lines in root directory, again didn’t work. Then I placed it in wp-admin folder and it worked. I think the author should mention it.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.