28 s
the sites were offline, on 45 accounts and 51 domains
the migrationBeta
CorePanel Transform converts the cPanel server you already have into a CorePanel server, on the same machine. Not a copy onto a second box: home directories, Maildirs and the MySQL data directory are adopted exactly where they are, with the same uids, on the same disk, behind the same IP address. Nothing is copied, so nothing takes as long as your data is big.
It is one command, it stops to ask before every stage, it resumes where it left off, and until you close the window yourself there is a rollback that gives back a whole cPanel.
Beta The transformation runs end to end on real cPanel servers, and every figure on this page is measured on one. It is in beta because the set of servers it has met is still small, and each new one teaches it something — every stage is written down, the rollback is never further away than a command, and what changed is published as it happens. Read the changelog →
curl -fsSL https://get.corepanel.net/check | sh 28 s
the sites were offline, on 45 accounts and 51 domains
0bytes copied
the data is adopted where it is — same paths, same uids, same disk
51 of 51
sites answering when the run finished, checked against how they answered before
1server
no second machine, no data transfer, no IP change, no DNS propagation
Measured on 29 August 2026: 45 accounts, 51 domains, 84 mailboxes, 43 databases and 48 zones on a 2 vCPU, 3.5 GB server. The whole run took 10 minutes. How the window is spent →
| What it does | Converts a cPanel/WHM server into a CorePanel server on the same machine — not a copy on a second one |
|---|---|
| The data | Home directories, Maildirs and the MySQL data directory are adopted where they are: same paths, same uids, same bytes, same disk |
| The IP | Unchanged. No records to repoint, no propagation to wait for, no second server to pay for |
| Downtime | 28 s on the server we timed — 45 accounts, 51 domains. It scales with the number of files, not with the size of the data, and PLAN prices it for your server before you agree to anything |
| Stages | CHECK, PLAN, PREPARE, CUTOVER, VERIFY — one guided command that stops and asks before every one of them |
| The way back | A rollback command until you run cleanup yourself. cPanel comes back whole — mail, FTP and DNS included — and writes made since the cutover survive it, because the data was never copied |
| Carried across | Accounts with their uids and password hashes · domains, addons and subdomains · mailboxes and forwarders · FTP logins · databases, users and grants · DNS zones · certificates · cron jobs · per-domain PHP version and extensions · hosting packages · resellers, one level deep |
| Not carried | Mailing lists, autoresponders and filters · Passenger/Node apps · PostgreSQL · traffic statistics · third-party products (Imunify, JetBackup, Softaculous, LiteSpeed) — the check lists them on your server, before you start |
| Interruptions | Every step is written down before the next one starts. Answer q, or lose the SSH session: running it again resumes exactly where it stopped |
| Billing systems | WHM API credentials are carried across as digests, and a WHM-compatible API can be opened for WHMCS once you have verified the serverBusiness |
| Requirements | RHEL, AlmaLinux or Rocky 8, 9 or 10, and root on the cPanel server. On CentOS 7, run cPanel’s elevate-cpanel first |
| Price | Free. The tool is not licensed, sold or metered — and if the server holds more than 20 sites, the run offers a 14-day trial of Pro or Business on the spot, no card |
The tool is free in every edition. Full documentation →
in place
Every other way out of cPanel copies a server onto another server, and that is why migrations are booked for weekends. This one changes which set of daemons serves the data you already have.
The consequence is the part worth reading twice: a 2 TB server costs the same window as a 20 GB one. What the window is actually spent on is the number of files — tightening home directories, 12 µs each — which is why a much bigger server is a minute or two rather than twenty.
| home directories | adopted in place |
| Maildirs | adopted in place |
| MySQL data directory | adopted in place |
| uids and password hashes | unchanged |
| IP address | unchanged |
| the daemons serving it | replaced |
the window
The offline window is one window for the whole server, not one per account, and the tool keeps the clock on screen while it is open: how long the sites have been down, and how much of what the plan booked is left.
And we publish what the estimate got wrong. The plan for the run below booked about two minutes; the sites were down for 28 seconds. Every step now reports the measured figure next to the promised one, and the estimates are repriced from real runs. The cutover, step by step →
the way back
cPanel is stopped and disabled, not removed. Its packages, its
/usr/local/cpanel and its licence stay on the disk, and that is what keeps
the door open — for a day or for a month. You close it when you run
cleanup, and never before.
corepanel-transform rollback gives the server back to cPanelIt also refuses when it should. If a mailbox was created or a password changed under CorePanel since the cutover, giving mail back to cPanel would discard it — so the rollback names the difference and stops, instead of doing it quietly. The rollback in detail →
The guided run will not offer to remove cPanel. Removing it is a command you go and type, days later, and it refuses unless verification passed and something is answering on 80 and 443 right now.
proof, not announcement
"The site answers" is not "the site works". A page can report its own failure with a perfectly successful status code — encoded software missing its loader prints a paragraph and returns HTTP 200 — so a health check that reads status codes sees a server in perfect order.
The gate also reads the one place a PHP fatal always lands — the
account's own error log — because with display_errors off a fatal can leave
an HTTP 200 cut short mid-sentence. That is reported as a warning, never a failure: the
code is the customer's, unchanged, and it was throwing the same thing on cPanel.
five stages, one command
Run corepanel-transform with no arguments and it
walks the whole thing as one guided sitting. Before every stage it prints what that stage
will do to this server — what goes offline, for how long, and whether it can be
reversed — and then it waits. Enter goes on, q stops, and stopping costs nothing.
1
Reads the server and says whether it can be transformed
reads only
2
Writes the ordered steps, and prices the offline window for this server
reads only
3
Installs CorePanel beside a cPanel that keeps serving, and registers every account in place
nothing goes offline
4
cPanel stops, CorePanel takes over, and a health gate probes the result from outside
the window — 28 s measured
5
Proves every domain, mailbox, database and zone answers, against the inventory taken first
reads only
Two of them ask you to type a word rather than press Enter: I-HAVE-A-BACKUP
before anything is changed, and TRANSFORM before the window opens.
The whole tutorial →
what it costs
The tool is free and unmetered — no per-server, per-account or per-migration charge, and no licence to arrange before you can find out whether your server is a candidate.
The trial exists for exactly this moment: a full server can be transformed, verified and lived with before anything is paid for. Editions and pricing →
questions we get asked
CorePanel Transform is a free tool that converts a cPanel/WHM server into a CorePanel server on the same machine. It is a single binary, corepanel-transform, that runs as root on the cPanel server and walks the whole conversion as one guided sitting: it reads the server, plans the work, installs CorePanel beside a cPanel that keeps serving, swaps which set of daemons serves the data, and then proves that every domain, mailbox, database and zone answers.
Yes — that is what the transformation is for. Nothing is copied anywhere: home directories, Maildirs and the MySQL data directory are adopted where they already are, with the same uids, on the same disk, behind the same IP address. You do not need a second machine, you do not pay for two servers while you move, and there is no DNS propagation window because the address never changes.
Seconds, not hours. On the server we timed — 45 accounts, 51 domains, 84 mailboxes and 43 databases on a 2-vCPU box — the sites were unreachable for 28 seconds, and the whole run took ten minutes. The window is the time it takes to stop one set of daemons and start another, so it does not grow with the size of the data: it grows with the number of files, which makes a much larger server a minute or two rather than twenty. You do not have to take that on trust either — the PLAN stage prices the window for your server, from your server, before you agree to anything.
Yes. It is the same machine, so the address does not change and nothing has to be repointed. DNS delegation is untouched, there is no propagation to wait for, and mail keeps arriving at the same place. The transformation reads the server's own address, hostname and nameservers out of cPanel and gives them to CorePanel, so the panel opens already configured.
Yes, with one command, for as long as you want. cPanel is stopped and disabled but not removed, and corepanel-transform rollback gives the server back to it — whole, including mail, FTP and DNS, whose cPanel packages are reinstalled. Because the data was never copied, mail delivered and database rows written after the switch survive the reversal: there is one copy of the data and both panels read the same bytes. The window has no timer. It closes when you run cleanup yourself, days later, and that is the only irreversible step — which is why the guided run never offers it.
The tool is free and it is not metered: there is no per-account, per-server or per-migration charge, and no licence to buy before you start. CorePanel's own Personal edition is free too, and holds up to 20 sites. If the server carries more than that, PREPARE says so and the guided run offers a 14-day trial of Pro or Business on the spot — no card, no key — so a full server can be transformed and verified before anything is paid for.
The first stage is, unconditionally: the check reads the server and changes nothing at all — no installation, nothing configured, nothing stopped — so it is meant to be run on a live server in the middle of the day. Everything after that asks before it acts, and the two stages that matter ask you to type a word rather than press Enter: PREPARE asks for I-HAVE-A-BACKUP, and the cutover asks for TRANSFORM. Take a hypervisor snapshot of the whole VM first; it is the cheapest insurance there is.
Nothing is left half-done. Every step writes down what it did before the next one starts, so answering q at a prompt — or losing the SSH session entirely — costs nothing: running corepanel-transform again picks up exactly where it stopped, and a stage already finished is skipped rather than repeated. If a step fails, the tool names it and says what is still standing, and running again re-enters that step and no other.
Carried, verbatim or equivalent: system users with their uids and password hashes, home directories in place, Maildirs including Dovecot's indexes, mailboxes and forwarders, FTP logins, domains, subdomains, aliases and addon domains, the PHP version and extensions each site actually runs, DNS zones, SSL certificates and keys, databases with their users and grants, cron jobs, hosting packages and per-account limits, and resellers one level deep. Not carried: mailing lists, autoresponders and mail filters, Passenger/Node applications, PostgreSQL, traffic statistics, and third-party products such as Imunify, JetBackup, Softaculous or LiteSpeed. The check lists all of it for your server before you start, so nothing on that second list is a surprise.
It is proved rather than announced. Before anything is stopped, every site on the server is asked for its homepage while cPanel is still serving it, and the answer is written down. At the end of the window a health gate asks the same question of CorePanel and compares — so a site that broke is named, with the sentence its page now prints, and a site that was already broken before the run is not blamed on it. Then VERIFY checks every domain, mailbox, database and zone against the inventory taken first, and reports per account. If the gate finds something, it names it and offers the rollback rather than taking it.
RHEL 8, 9 and 10 and their rebuilds — AlmaLinux and Rocky Linux. The check says plainly if the server is on something else. On CentOS 7, run cPanel's own elevate-cpanel first, aiming at AlmaLinux 9, and then transform.
The credentials your billing system has been sending for years are carried across as digests, so the plaintext never leaves it, and the API is left closed — port 2087 is the most attacked port in shared hosting, and opening it is a decision rather than a default. Once you have verified the server, the guided run offers to open a WHM-compatible API, or you can run corepanel whmcompat enable yourself. It is part of the Business edition.
Not by the run, and not on the same day. cPanel is stopped and disabled, and its packages, its /usr/local/cpanel and its licence stay on the disk — that is what keeps the way back open, and it costs nothing but disk space. Removing it is a separate command, corepanel-transform cleanup, which asks you to type ERASE-CPANEL and refuses to run unless verification passed and something is answering on ports 80 and 443 right now. Until then the panel's dashboard carries a card reminding you cPanel is still installed.
It takes seconds, it reads and nothing else, and it comes back with an inventory of the server, a score and a verdict. Run it in the middle of the day.
Would you rather move onto a new server instead? The two routes compared →