Technical

Increase the WordPress Maximum Upload File Size (2026)

By Daniel Reyes•October 11, 2026•2 min read

Disclosure: some links on this page are affiliate links. We may earn a commission at no extra cost to you. How we test and rate hosts.

Our top pick for most WordPress sites
Bluehost: free domain, free SSL, 24/7 support, 30-day money-back guarantee.
Check Bluehost Deal →

"The uploaded file exceeds the upload_max_filesize directive in php.ini." Your file is fine - the server's ceiling is too low. Media > Add New shows your current limit. Here are the five ways to raise it, easiest first.

Method 1: Hosting Control Panel (Easiest)

Most hosts expose PHP settings in their panel. Look for PHP Options, MultiPHP INI Editor, or Select PHP Version > Options. Raise both values:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M

post_max_size must be >= upload_max_filesize. Save, wait a minute, retest.

Method 2: php.ini / user.ini File

Via FTP or File Manager, check the site root for php.ini or .user.ini - create it if missing and add the same four lines above. Some hosts only honor .user.ini (note the leading dot); try both names if the first doesn't take effect within a few minutes.

Method 3: .htaccess (Apache Hosts)

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value memory_limit 256M

Append inside .htaccess at the site root. Site white-screens or 500s after saving? Your host runs PHP-FPM instead of mod_php - revert; use method 1 or 2.

Method 4: wp-config.php @ini_set (Some Hosts)

Add above the "stop editing" line:

@ini_set('upload_max_size', '64M');
@ini_set('post_max_size', '64M');
@ini_set('memory_limit', '256M');

Works on hosts that allow runtime ini_set - many don't. If nothing changes, it wasn't read; don't stack it with the other methods expecting a cumulative effect.

Method 5: Ask Support or Bypass With FTP

Managed hosts sometimes lock these values server-side - a 2-minute chat with support raises them. Or skip the uploader entirely: FTP files into wp-content/uploads/ and register them with a plugin; drop theme/plugin folders into wp-content/themes or wp-content/plugins directly.

Two Traps

Sane PHP Limits by Default

Bluehost ships with reasonable upload limits and a panel where you can raise them yourself in seconds - $3.99/mo, 24/7 phone support.

Get Bluehost from $3.99/mo
Find Your Perfect Hosting Plan

What are you building?

Tell us about your project so we can match the perfect hosting plan.

Question 1 of 425% complete
Interactive Tool

Hosting Cost Calculator

See exactly how much you'll spend on hosting over time. Compare Bluehost vs popular alternatives and discover your potential savings.

Used to calculate transaction fees (Shopify charges 2% on sales)

Shopify Basic (3yr)
$1,044
Bluehost (3yr)
$444
You Save
$600
58% less than Shopify Basic

Frequently Asked Questions

Where do I see my current upload limit?

Media > Add New shows 'Maximum upload file size: X MB' under the uploader. It's set by the PHP directive upload_max_filesize on your server - typically 2MB to 64MB on shared hosting.

What's the difference between upload_max_filesize and post_max_size?

upload_max_filesize caps a single file; post_max_size caps the entire POST request (the file plus form data). post_max_size must be equal or larger - raising only upload_max_filesize does nothing if post_max_size is smaller.

Why doesn't editing wp-config alone work?

Some tutorials suggest define() constants in wp-config, but upload_max_filesize is a PHP-level setting WordPress can't override in most configurations. @ini_set in wp-config helps on some hosts; the reliable fixes are php.ini, .htaccess, or the hosting panel.

I raised the limit but still get 'link expired' errors?

Different symptom, related cause: the 'link you followed has expired' error on theme/plugin uploads is also a PHP limit problem - see the dedicated fix for that error message.

Can I bypass the limit entirely?

Yes - upload via FTP/SFTP to wp-content/uploads/year/month/, then use a plugin like Media from FTP to register the files in the media library. For themes and plugins, upload the extracted folder to wp-content/themes or wp-content/plugins and activate from the dashboard.

Does raising the limit slow down my site?

The setting itself costs nothing - it's just a ceiling. But routinely uploading 20MB+ images will hurt page speed; optimize images before upload rather than raising limits to accommodate unoptimized files.

Ready to launch?

Get Bluehost from $3.99/month with a free domain, free SSL, and 30-day money-back guarantee.

Start for $3.99 →

Related Articles