Blog ·
cPanel and WHM alternatives for hosting providers
Six control panels compared on licence model, migration effort and measured API behaviour, plus what replaces WHM on the administrator side of each one.
By Provibr
If you are looking for a cPanel alternative (or for a WHM alternative, which is the same question asked from the administrator's chair), most comparisons you will find are written by someone selling one of the panels. This one is written by a company that runs all six as live integrations and gets paid the same regardless of which you pick, so the useful thing we can offer is not an opinion but measurements.
Everything in the API table below was measured against running servers while building those integrations. It is the part of a panel you only discover after you have committed to it, and it is the part that decides whether your automation is boring or a permanent source of incidents.
The six, at a glance
| Panel | Licence model | Fits | Watch out for |
|---|---|---|---|
| cPanel / WHM | per account, per month | hosts whose customers ask for it by name | cost grows with your customer count |
| DirectAdmin | per server, flat above a tier | growing account counts, thin margins | smaller third-party ecosystem |
| Plesk | per server, tiered | Windows hosting, agency workloads | two APIs, neither complete on its own |
| Virtualmin | open-source edition, paid Pro edition | technical hosts already on Webmin | quota support depends on the filesystem |
| HestiaCP | open source | small, lean, Debian/Ubuntu fleets | bans your automation after five refusals |
| CyberPanel | open-source edition, paid Enterprise | LiteSpeed / OpenLiteSpeed stacks | API access is switched off by default |
The WHM alternative: what replaces the administrator side
The two names are one product. cPanel is what your customer logs into; WHM is what you log into, and it is the WHM side that a hosting business automates: creating an account, suspending it, repackaging it, deleting it. cPanel's own documentation is split the same way.
cPanel publishes two separate user guides, "cPanel User" and "WHM User", alongside its knowledge base, developer documentation and installation guide.
Everything we measured on the cPanel side of this page is in fact WHM: the API on port 2087, the WHM API token, createacct answering with twelve kilobytes of process log, and the disk quota WHM accepts and does not enforce. So "a WHM alternative" is not a different question from "a cPanel alternative". It is the same question asked from the administrator's chair, and the answer is whatever the new panel calls that level.
DirectAdmin has three access levels and the top one is Admin.
DirectAdmin documents its Admin level as the main account responsible for the global server configuration, which can create other admins, create reseller packages and resellers, and configure global settings such as the hostname, nameservers, security options and global limits. Reseller and User sit below it.
Plesk puts a server administrator above resellers and customers.
Plesk's administrator guide describes resellers as people who sell hosting accounts on your servers to others and who do not have their own hosting servers, with the administrator creating the hosting service plan and the customer's account.
Virtualmin calls it the Master Administrator.
Virtualmin describes the Master Administrator as the root user with rights to manage all aspects of the server; resellers are created by the master administrator and are listed as a feature of Virtualmin Professional, with virtual server owners below them.
HestiaCP and CyberPanel are the two where you should check the reseller story yourself before you commit. What we measured on both is their API, in the table below, not their account hierarchy, and a page that filled that in from memory would be guessing.
The practical consequence for a migration is small but easy to miss: whatever you automate against WHM today is what you will be re-pointing at the new panel's administrator level, not at its customer interface. The rest of this page is about how those administrator APIs actually behave.
Licence cost, and where we stop giving numbers
We can give you hard figures for two of the six, because we checked them at the source and can date them.
cPanel, self-managed list prices effective 1 January 2026: Solo $29.99, Admin $35.99, Pro $53.99, Premier $69.99 for up to 100 accounts and $0.49 for every account above that. The 2025 predecessors were $26.99, $32.99, $46.99, $65.99 and $0.45. Pro rose 14.9%; the per-account rate above 100 rose 8.9%.
DirectAdmin, retail prices read from directadmin.com on 21 August 2026: Personal PLUS $5/month (2 accounts), Lite $15/month (10 accounts), Standard $29/month for unlimited accounts and domains, with published volume discounts from 15% at four Standard licences up to 40% at thirty-five.
For the other four we are deliberately not quoting a price. Plesk publishes per-server tiers, and what you pay depends on the tier, on whether you buy direct or through a hosting provider or a cloud marketplace, and on the term; we did not verify a 2026 figure we would be willing to put in a table, so we are not putting one there. Virtualmin, HestiaCP and CyberPanel are a different kind of statement rather than a cheaper one: Virtualmin ships a GPL edition alongside a paid Pro edition, HestiaCP is open source, and CyberPanel ships an open-source edition alongside a paid Enterprise edition bundling LiteSpeed Enterprise. "No licence fee" is a fact about the software's licence, not a claim about your total cost of ownership: you are trading a licence line for hours.
The shape of the cPanel curve is the thing worth internalising, because it is what makes this a recurring question rather than a one-off. At $0.49 per account per month, a thousand-account server costs $510.99 where DirectAdmin Standard costs $29, and next January the first number moves and the second one probably does not.
What your customer actually notices
Licence maths is the easy half. The expensive half is churn and support, and there only one thing reliably shows up in the numbers: whether your customer recognises the interface.
cPanel's ecosystem advantage is real and it is not nostalgia. More third-party integrations, more migration tooling, more documentation written by people who are not you, and customers whose last three hosts all used it. If support load is your biggest cost, that familiarity is worth money, and any comparison treating it as sentiment is misleading you. Against that: for reseller-facing hosting, for technical audiences, and for anything where the customer lives in your own dashboard rather than the panel, the interface is close to invisible and the licence line is not.
What each API actually does, measured
This is the table nobody publishes, because you only learn it by writing an integration against each one.
| cPanel / WHM | DirectAdmin | Plesk | Virtualmin | HestiaCP | CyberPanel | |
|---|---|---|---|---|---|---|
| Default port | 2087 | 2222 | 8443 | 10000 | 8083 | 8090 |
| Plain HTTP | refused | common, accepted with a warning | redirects to https | not measured | not measured | 443 was closed on the server we measured |
| Credential | WHM API token | login key | one API key | HTTP Basic | access key | user and password, from which a token is derived |
| Success is signalled by | metadata.result | error=0 in the body | differs per API | status: "success" | the Hestia-Exit-Code header | the JSON body |
| Failure arrives as | HTTP 200 | HTTP 200 | HTTP 200 (XML) | HTTP 200 | HTTP 4xx, but read the header | the JSON body |
| Number of APIs you need | one | one | two | one | one | two |
| Lists accounts in one call | yes | yes | yes | yes | yes, then one call per account for domains | no such endpoint |
| Read lag after a change | none measured | ~3 seconds | none measured | not measured | not measured | not measured |
Four of those rows deserve more than a cell.
Four of these six panels report failure with HTTP 200. cPanel puts result: 0 in a metadata object; DirectAdmin puts error=1 in the body; Plesk's XML API answers <status>error</status>; Virtualmin has two different failure shapes and delivers both with a 200. A client written to check the status code will report success for every one of them. This is the single most common way a first integration quietly does nothing.
Plesk needs both of its APIs, and that is not a preference. The REST v2 API is clean but incomplete: /subscriptions and /service-plans do not exist, and requesting them returns a 404 as an HTML page. The service plan is the hosting package, so the entire package side has to run over the older XML/RPC API. The saving grace is that one key opens both (we measured the same key returning 200 on REST and a valid answer on XML), so it is one credential field, not two.
CyberPanel has no endpoint that lists websites. That is the largest gap of the six. Its API access is also switched off by default: the administrator record carries an API flag that starts at zero, and while it is off a correct password and a wrong password produce the identical 403. Enabling it is a deliberate step in the panel, and until someone takes it, no amount of credential-checking will tell you why you are locked out.
HestiaCP bans your automation after five refused calls. fail2ban with maxretry = 5 and an iptables DROP. After that, calls stop failing at the application level and start timing out at the network level, so your monitoring reports the panel as unreachable and nothing in your logs points at a credential problem. A key scoped with HestiaCP's own bundled billing permission set is missing the commands a normal poll cycle uses, so it burns through the counter on a schedule.
Two traps that cost money rather than time
cPanel silently lowercases usernames. Create MyClient through WHM and you get myclient, reported as a success, with no mention of the change. Anything that stores the name it sent rather than the name it got back loses that account on the next full sync, and a full sync that cannot find an account is what tells a platform the account was deleted.
Virtualmin accepts a plan name that does not exist and does nothing with it. Measured on 8.1.2: modify-domain --plan <nonexistent> answers status: "success" with output reading "All done", and the account's plan is unchanged before and after. There is no error shape to classify against; the refusal is silence. A customer presses change package, gets a green confirmation, and stays on the old plan.
That second one generalises. No mutation on any of these six panels can be trusted on its own word. cPanel confirms a change with a page of process output rather than the new state; Virtualmin confirms with "All done". The only reliable pattern is: change it, read it back, and report what you read.
Migration effort, honestly
DirectAdmin is the most travelled route off cPanel, and the one with the most third-party tooling pointed at it. The username rules are close enough that most accounts move without renaming, which matters more than it sounds.
Plesk is a bigger conceptual jump because the object model differs: a Plesk subscription is identified by its main domain, not by a username, so anything in your billing system storing a cPanel username has nothing to point at afterwards.
HestiaCP, CyberPanel and Virtualmin are the largest jumps, less because of the panels than because of the ecosystem: fewer conversion tools, fewer people who have done it before you, and more of the work landing on your team.
We have not run a data migration on your behalf and we are not going to describe any vendor's conversion tooling as though we had tested it. What we can tell you is how the destination panel behaves once the accounts are there.
Which one fits which business
Stay on cPanel if your customers ask for it by name, you depend on tooling that only targets it, or support familiarity is your dominant cost. Check your filesystem quotas before you sell another disk-limited plan.
Pick DirectAdmin if your account count is growing and your margins are thin. Above a few hundred accounts the licence maths is decisive, and its login keys are the strongest credential story of the six: a key can be limited to an explicit list of commands, to an address, to an expiry date and to a number of uses.
Pick Plesk if you host Windows workloads or serve agencies, and you are prepared for a two-API integration.
Pick HestiaCP or Virtualmin if you are small, technical, and your time is cheaper than a licence.
Pick CyberPanel if you are already committed to a LiteSpeed stack. Outside that, the missing website-listing endpoint is a real constraint on automation.
You do not have to pick one
The reason this decision feels heavy is that it is usually framed as one switch, thrown once, for everybody.
Provibr runs all six side by side in one account. A cPanel account, a DirectAdmin account and a Plesk subscription appear in the same server list, count towards the same capacity and land on the same monthly invoice, with the same suspend, resume, repackage and delete actions behind them. The agent dials outward from your own network, so no server needs an inbound port opened. Accounts you did not create through Provibr are left alone until you import them.
That is what makes moving in cohorts possible: new customers on the new panel, existing ones moved when it suits you, and one place to look while both are true.
Frequently asked questions
What is a WHM alternative, exactly?
WHM is the administration side of cPanel: the interface and the API behind creating, suspending, repackaging and deleting accounts. Replacing it means adopting whatever the new panel calls that level, which is DirectAdmin's Admin level, Plesk's administrator or Virtualmin's Master Administrator. The section above sets the three out.
Which cPanel alternative is the cheapest?
For two of the six we can give dated figures. cPanel's self-managed list prices effective 1 January 2026 run to $69.99 for up to 100 accounts and $0.49 for every account above that; DirectAdmin Standard was $29 a month for unlimited accounts on 21 August 2026. At a thousand accounts that is $510.99 against $29.
Does a free panel actually cost less?
"No licence fee" is a fact about the software's licence, not a claim about your total cost of ownership: you are trading a licence line for hours. Virtualmin ships a GPL edition alongside a paid Pro edition, HestiaCP is open source, and CyberPanel ships an open-source edition alongside a paid Enterprise one.
What breaks first when you automate one of these panels?
Four of the six report failure with HTTP 200. cPanel puts result: 0 in a metadata object, DirectAdmin puts error=1 in the body, Plesk's XML API answers with an error status, and Virtualmin delivers two different failure shapes with a 200. A client written to check the status code will report success for every one of them.
Do I have to move everybody to one panel?
No, and that framing is what makes the decision feel heavy. Provibr runs all six side by side in one account, so a cPanel account, a DirectAdmin account and a Plesk subscription land in the same server list, the same capacity count and the same monthly invoice while you move in cohorts.
Read next
- The 2026 cPanel price increase: the arithmetic per fleet size and the four routes out.
- Migrating from cPanel to DirectAdmin: including what does not come across.
- How integrations work: the agent, credentials, and what a control panel integration can and cannot do.
- The CyberPanel WHMCS module: what selling CyberPanel through WHMCS runs into.
- Virtualmin billing automation: from order to live account, on the panel with the least tooling around it.
cPanel 2026 list prices are from public reporting of the announcement effective 1 January 2026; DirectAdmin prices were read from directadmin.com on 21 August 2026. No price is quoted for Plesk, Virtualmin, HestiaCP or CyberPanel because we could not verify a current figure we were willing to publish. All API behaviour described here was measured against running servers while building the six Provibr integrations, between July and August 2026.