You log into cPanel and see a red bar: disk usage 98%. Email stops arriving, file uploads fail, and your site might throw 500 errors because the account can't write logs. Hosting providers allocate a fixed disk quota per cPanel account—typically anywhere from a few gigabytes on shared plans to tens of gigabytes on reseller or VPS setups—and once you hit that ceiling, everything grinds to a halt.
This guide assumes you've never cleaned a cPanel account before. We'll define every term, show you where to click, and walk through the four biggest space hogs: email, trash folders, logs, and backups. By the end you'll know exactly how to reclaim storage and keep your account below quota.
What is cPanel disk space and why does it fill up?
A cPanel account is a slice of a web server managed through the cPanel control panel. Your provider assigns a disk quota—a hard limit on how many megabytes or gigabytes you can store under your username. That quota covers everything: website files in public_html, databases, email stored on the server, logs, and backups.
Most accounts fill up for four reasons:
- Email left on the server piles up—especially if you never delete messages or you receive large attachments.
- Trash folders in email accounts hold deleted mail until you empty them manually.
- Error logs and access logs grow every day and are rarely rotated automatically on shared hosting.
- cPanel backups you generated months ago and forgot.
Shared hosting plans often start at 10 GB or 20 GB. A year of undeleted email can easily eat 5 GB, logs another 2 GB, and a couple of full-account backups will consume the rest. Once you're at 100%, cPanel refuses to write any new data—mail bounces, uploads fail, and even WordPress can break if it can't write to wp-content/uploads or cache folders.
Step one: check your current disk usage
Log into cPanel (your host sent you the URL when you signed up; it usually looks like yourdomain.com/cpanel or server123.yourhost.com:2083). On the right sidebar or main dashboard you'll see a Disk Usage meter—a bar or pie chart showing how much of your quota is consumed.
Click the heading or icon to open the full Disk Usage interface. cPanel will scan your account and display a bar chart or table breaking usage down by directory: mail, public_html, logs, backup, and so on. This scan can take thirty seconds on a large account. Write down which folders are biggest—that tells you where to start.
Step two: delete old email (the number one culprit)
Email stored on the server under IMAP or left in webmail accounts is the most common reason accounts hit quota. Every message—body, headers, attachments—lives in ~/mail/yourdomain.com/username/cur or similar paths. A single 10 MB attachment in your inbox counts against your quota until you delete it and empty trash.
Access webmail and pick an account
From the cPanel home screen, click Email Accounts. You'll see a list of every address under your domain. Click Check Email next to the account you want to clean (or Access Webmail if that's the button label). cPanel will offer three webmail clients: Horde, Roundcube, and sometimes SquirrelMail. Pick Roundcube—it's the most intuitive for bulk operations.
Sort by size and delete large messages
In Roundcube, open your Inbox. Click the Size column header to sort messages by attachment size (largest first). Shift-click or Ctrl-click to select a batch of old newsletters, notification emails with logs, or anything you no longer need. Click Delete. The messages move to Trash but still count against quota.
Repeat for the Sent folder—old sent mail with attachments adds up fast—and any custom folders you created.
Empty trash and check other folders
Click Trash in the folder list, select all, and delete again. Then right-click the Trash folder icon and choose Empty. This permanently removes the messages and frees disk space immediately. Do the same for the Junk folder if your account uses server-side spam filtering.
If you have multiple email accounts (info@, support@, sales@), repeat this process for each one. In my experience handling support tickets, a single neglected support@ inbox with two years of attachments can consume 8 GB alone.
Step three: purge trash in all email accounts from cPanel
Even after you empty trash in webmail, cPanel keeps a separate Trash directory for each email account. Go back to Email Accounts in cPanel, find Manage or the three-dot menu next to each account, and click Delete or Purge Messages. Some hosts label this Manage Disk Usage. You'll see options to delete messages older than a certain number of days or to empty trash entirely. Select the most aggressive option and confirm.
If you have many accounts, this is tedious but necessary. Trash folders are the silent quota killer.
What if the account still shows high mail usage?
Sometimes the Disk Usage scan in cPanel caches old data. After deleting email, wait ten minutes and refresh the page. If the number hasn't dropped, try re-running the scan (look for a Refresh or Update Usage button). On some shared hosts, the usage statistics only update once per day via a cron job. Check back in a few hours.
Another possibility: your email client (Outlook, Thunderbird, Apple Mail) is configured to leave copies on the server even after you download them. Open your client's account settings, find the section labeled Server Settings or Advanced, and confirm that Remove from server after download or Delete from server when deleted locally is enabled. Otherwise you're storing every message twice—once locally and once in cPanel.
Step four: remove or compress website logs
Web servers write two types of logs for every HTTP request:
- Access logs (
access_logoraccess.log) record every page view, image load, and bot crawl. - Error logs (
error_log) capture PHP warnings, 404s, and server misconfigurations.
On a busy site, access_log can grow by hundreds of megabytes per month. Shared hosting rarely rotates these logs automatically, so a year-old account might carry a 2 GB access log that nobody reads.
Locate logs in File Manager
In cPanel, open File Manager. Navigate to the logs directory (it's a top-level folder alongside public_html). You'll see files named yourdomain.com-ssl_log, yourdomain.com, error_log, and similar. Click each file to see its size in the right pane.
If any log is over 100 MB and you don't need the historical data, select it and click Delete in the toolbar. Confirm the deletion. The space is freed immediately.
Archive logs before deleting (optional)
If you want to keep the data for analytics, select the log file, click Compress, choose Gzip Archive, and download the resulting .gz file to your local machine. Then delete the original from the server. A 500 MB access log compresses to about 30 MB, so you reclaim most of the space and still have the records.
Rotate logs going forward
To prevent logs from growing indefinitely, you can set up log rotation. In cPanel, look for Raw Access or Raw Log Manager. Enable Archive Logs or Remove Old Logs if those options exist. Many hosts also let you configure Apache to rotate logs monthly via .htaccess or httpd.conf directives, but that's beyond the scope of a beginner guide. If your host doesn't offer automatic rotation, add a monthly calendar reminder to delete or download logs manually.
Step five: delete old cPanel backups
The Backup Wizard or Backups icon in cPanel lets you generate full-account or partial backups. Each full backup is a compressed archive of your entire home directory—files, databases, email, everything—and can easily be 3 GB to 10 GB depending on account size. If you generated a backup six months ago and never deleted it, it's sitting in ~/backups or a similar directory, counting against quota.
Find and remove backups
Open File Manager and check for a folder named backups or backup-. (The exact name depends on your cPanel version and how the backup was created.) Inside you'll see .tar.gz archives with date stamps in the filename. Select any backups you no longer need and delete them. If you want to keep a backup, download it to your local machine first, then remove it from the server.
Also check public_html for accidental backups—some users save archives there during troubleshooting and forget. A file named public_html.tar.gz in your web root is both a quota hog and a security risk (anyone who guesses the URL can download your entire site).
Disable automatic backups if you don't use them
Some cPanel installations have a JetBackup or similar plugin that creates automatic backups and stores them on the server. Check Backups → Backup Configuration or Manage Backups. If you see a schedule enabled and you don't need server-side backups, disable it. Alternatively, configure the system to send backups to remote storage (FTP, S3, Google Drive) so they don't consume your local quota.
Step six: clean up public_html and temp files
Your website files live in public_html (or www, which is usually a symlink to public_html). Over time, plugins, themes, and manual uploads leave behind orphaned files: old images, unused JavaScript libraries, duplicate copies of plugins, and ZIP archives from manual installs.
Identify large files
In File Manager, navigate to public_html. Click Settings (top right) and enable Show Hidden Files if it's not already checked. Sort the file list by Size (click the column header). Look for:
- Large images in
wp-content/uploads(if you run WordPress). Unoptimized photos from phones can be 5 MB each. - Old plugin or theme ZIPs you uploaded and forgot to delete after extracting.
- Database dumps (
backup.sql,database.sql) left in the web root orpublic_html—these can be gigabytes and are a huge security risk if publicly accessible. - Cache folders filled with static HTML or JSON if your CMS isn't expiring old cache.
Delete anything you don't recognize or don't need. If you're unsure about a file, download it first, then remove it from the server.
Clear WordPress cache and optimize uploads
If you use WordPress, install a plugin like WP-Optimize or WP-Sweep to clean post revisions, trashed comments, transients, and orphaned metadata from your database. These aren't huge disk consumers individually, but they add up. For images, use ShortPixel or Smush to compress existing uploads—some plugins can reduce image size by 50% without visible quality loss.
Check tmp and .trash folders
Some cPanel accounts have hidden folders like tmp, .trash, or .Trash. Open File Manager, make sure Show Hidden Files is on, and look at the root of your home directory. A forgotten .trash folder can hold gigabytes of old files. Delete the entire folder if it exists.
Step seven: optimize or remove databases
MySQL and PostgreSQL databases count against your disk quota. A WordPress site with years of post revisions, spam comments, and transient records can have a bloated database eating hundreds of megabytes.
Check database sizes
In cPanel, open phpMyAdmin. The left sidebar lists all your databases. Click each one and look at the footer—it shows total size. If a database is unexpectedly large (a simple blog shouldn't exceed 50 MB), you probably have bloat.
Optimize tables
In phpMyAdmin, select a database, check the boxes next to all tables, and choose Optimize table from the dropdown at the bottom. This reclaims unused space from deleted rows and can shrink a database by 10-30%. It's safe and takes a few seconds.
Remove old databases
If you see databases from old test sites or deleted WordPress installs, go to MySQL Databases in cPanel and delete them. Make absolutely sure you're not removing a live site's database—check the database name against your wp-config.php or application config first.
What to do if you're still over quota
After cleaning email, logs, backups, and files, re-run the Disk Usage scan in cPanel. If you're still near or over quota, you have three options:
- Upgrade your hosting plan to one with a larger disk quota. Contact your host's sales or billing department.
- Move email off-server. Switch from IMAP to POP3 in your email client and configure it to delete messages from the server after download. Or migrate email to Gmail, Outlook.com, or another free provider using IMAP forwarding.
- Host large files externally. If you serve videos, PDFs, or software downloads, move them to a CDN (Cloudflare R2, BunnyCDN, AWS S3) and link to them instead of hosting them in
public_html.
Sometimes the quota itself is misconfigured. Reach out to your host's support and ask them to verify the limit—I've seen cases where a billing system glitch left an account capped at 1 GB when the plan included 20 GB.
FAQ: common questions about cPanel disk space
Can I increase my quota without upgrading? On shared hosting, no—the quota is tied to your plan. On a VPS or reseller account where you manage WHM, you can edit the quota yourself via List Accounts → Modify Account.
Why does cPanel show more usage than my FTP client?
cPanel counts email, databases, logs, and hidden files. FTP clients often only display public_html unless you browse other directories manually.
Will deleting email on the server delete it from my phone? Yes, if you use IMAP. IMAP syncs between server and clients. POP3 downloads messages locally and optionally deletes them from the server, so your phone won't see POP3 mail after download.
How often should I clean my cPanel account? Once every three to six months is reasonable for small sites. High-traffic or high-email-volume accounts benefit from monthly cleanups or automated log rotation.
Do suspended accounts still count against quota? Yes. If your cPanel account is suspended for nonpayment or policy violations, the files and email remain on disk. Reactivating won't free space—you still need to clean up.
Where to focus your cleanup effort
Start with email—it's the fastest way to reclaim gigabytes. Empty trash in webmail and cPanel for every address. Then delete or download old logs from the logs folder and remove backups you don't need. Finally, sweep public_html for orphaned ZIPs and large images.
Run the Disk Usage scan after each major deletion to confirm the space is freed. If the meter doesn't budge, wait an hour for cPanel's background processes to catch up. Repeat this routine every few months and you'll never hit quota unexpectedly.
![How to Free Up Disk Space on a cPanel Account [2026]](/images/blog/how-to-free-up-disk-space-on-a-cpanel-account-2026.jpg)