# Migrate Plesk to cPanel (and cPanel to Plesk): Tools and Limits

Source: https://srvscripts.com/guides/migrate-plesk-to-cpanel/
Updated: 2026-10-07
Publisher: srvScripts (https://srvscripts.com/)

**Short answer:** To move from Plesk to cPanel, use WHM’s Transfer Tool on the new cPanel server: it lists Plesk as a remote server type and pulls accounts over SSH with root access. Going the other way, install the Plesk Migrator extension on the new Plesk server; it supports cPanel 11.5 and later as a source and migrates whole subscriptions. Neither tool copies everything, so check the exclusions below before you switch DNS.

Commands checked against the official documentation (linked below) on 6 October 2026; not yet run on our lab servers.

## Which tool for which direction

| Direction | Tool | Runs on | Unit of migration |
| --- | --- | --- | --- |
| Plesk to cPanel | WHM Transfer Tool (remote server type “Plesk”) | The new cPanel server | cPanel account per Plesk subscription |
| cPanel to Plesk | Plesk Migrator extension (GUI or plesk-migrator CLI) | The new Plesk server | Subscription with all its domains; service plans too |
| Either way, hands-off | cPanel’s free migration service (Plesk listed as a supported source) | cPanel staff | Per their scope |

Both tools work from the destination side and log in to the old server over SSH as root (or as a user who can become root). Make sure the old server allows that, at least from the new server’s IP, for the duration of the move.

## Plesk to cPanel with the WHM Transfer Tool

### Prepare the source Plesk server

- **Root over SSH:** the Transfer Tool needs root through SSH, either directly or by logging in as another user and escalating with `su` or `sudo`. It connects on port 22 by default.

- **Forwarding domains:** cPanel’s docs say Plesk domains set up as forwarding (no hosting) must be converted to physical hosting before transfer if they carry mail.

- **Mail addresses with a plus sign** and **FTP accounts with an underscore** are not transferred. List them now so you can recreate them by hand.

- **Lower DNS TTLs** on every zone a day before the move.

The conversion command for a forwarding domain, as given in the cPanel Transfer Tool documentation (replace the domain, login and password with your own):

```
/usr/local/psa/bin/domain --update example.com -hst_type phys -login "bob" -hosting true -ip 127.0.0.1 -passwd "use-a-strong-password"
```

This changes the domain on the live Plesk server. Take a Plesk backup of that subscription first and check the domain still resolves as expected afterwards.

### Run the transfer

- In WHM on the new server open **Transfers > Transfer Tool**.

- Enter the Plesk server’s address and choose **Plesk** as the remote server type (Auto Detect also exists).

- Give root credentials, or a normal user plus the `su`/`sudo` escalation method.

- Start the scan of the remote server, then pick the accounts to copy. Start with one small test account.

- Leave the WHM tab alone until it finishes. cPanel warns against restarting services or running system updates during a transfer.

cPanel allows up to five transfer and restore threads at once and may lower that based on server load.

### What does not come across from Plesk

cPanel’s migration page and Transfer Tool docs list these Plesk items as not migrated:

- SpamAssassin configuration and per-user allow and block lists.

- Custom DNS zone files: zones are rebuilt from cPanel’s templates, so re-add custom TXT, SRV and CNAME records.

- Email addresses that contain `+` and FTP accounts with `_` in the name.

- Roundcube data, feature lists, extra Horde address books, and mailing lists on addon domains.

- Two-factor authentication settings; users must enrol again.

- Custom software configuration on the Plesk side (nginx directives, PHP handler tweaks, Fail2Ban rules).

### Known issue: Plesk 18.0.76 and empty account lists

In July 2026 several admins reported that the Transfer Tool analysed a Plesk Obsidian 18.0.76 server successfully but showed no accounts. cPanel confirmed it as case CPANEL-54330 and said the fix would ship in cPanel 136.0.28. If you hit an empty list, update cPanel to the current build on the destination before you dig further.

## cPanel to Plesk with Plesk Migrator

Plesk Migrator is a Plesk extension. In the Plesk UI go to **Extensions > Plesk Migrator > Start a New Migration**, choose cPanel as the source, give the source IP, SSH port and root credentials, and pick a temporary folder. Plesk then fetches the list of accounts and you choose which subscriptions to move.

Rules worth knowing before you start:

- The smallest unit is a subscription with all its domains. You cannot pick a single addon domain.

- Reseller and customer accounts that own no domains are not migrated.

- Server-wide settings are not migrated: PHP handlers, Fail2Ban, ModSecurity and firewall rules must be set up on Plesk by hand.

- After the switch you can run a re-sync of content, and a mail-only sync to pick up mail that arrived on the old server after DNS changed.

### Command-line migration

For many accounts the CLI is easier to repeat. The binary and config paths from the Plesk migration guide:

```
# binary
/usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator

# sample configs to copy from
ls /usr/local/psa/admin/plib/modules/panel-migrator/backend/conf/samples/
# cpanel.simple.ini  cpanel.ini  ...

# your config
/usr/local/psa/var/modules/panel-migrator/conf/config.ini
```

The minimal cPanel config from the documentation; fill in the IPs (and use SSH keys rather than a password where you can):

```
[GLOBAL]
source-type: cpanel
source-servers: cpanel
target-type: plesk

[plesk]
ip:
os: unix

[cpanel]
ip:
os: unix
ssh-password:
```

Then run the documented steps in order:

```
M=/usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator
$M generate-migration-list   # writes a file named migration-list; edit it to choose subscriptions
$M check                     # pre-migration checks
$M transfer-accounts         # the migration itself
$M test-all                  # post-migration checks on the target
```

## DNS cut-over and mail

Both tools copy DNS zones, but the Internet keeps asking the old server until you change nameservers or A records. Work in this order:

- Migrate a test account and browse it through a hosts-file entry.

- Migrate the rest. Note any warnings per account.

- Switch DNS: change A/AAAA (and MX targets) at the external DNS host, or move your nameserver glue records to the new server.

- For cPanel to Plesk, run Plesk Migrator’s mail-only sync after the switch. For Plesk to cPanel there is no built-in delta sync, so copy late mail with an IMAP sync tool or plan a short freeze.

- Let AutoSSL (cPanel) or Let’s Encrypt (Plesk) issue certificates once DNS points to the new server.

## Check that it worked

- Count accounts and domains on both sides and compare.

- Check PHP versions per site: Plesk and cPanel name PHP builds differently, and the tools map them as best they can.

- Log in to a few mailboxes, send and receive, and check SPF, DKIM and DMARC records in the new zones.

- Compare database counts per account (`mariadb -e "SHOW DATABASES"` on both servers).

- Keep the old server online for at least a week and watch its mail log for stragglers.

## Common problems

- **Transfer Tool cannot log in:** root SSH login is disabled on Plesk. Use a normal user with sudo, or allow root by key from the new server’s IP only.

- **No accounts listed after a successful scan (Plesk 18.0.76):** update cPanel on the destination; see CPANEL-54330 above.

- **Custom DNS records missing:** expected for Plesk to cPanel. Export the old zones before the move and re-add records by hand.

- **Plesk Migrator skips a reseller:** resellers with no domains are not migrated. Create them on Plesk manually.

- **Sites load but look broken:** nginx-only rules from Plesk do not exist under Apache on cPanel. Rewrite them as .htaccess rules.

**Official documentation:** [cPanel: Transfer Tool](https://go.cpanel.net/whmdocsTransferTool) · [cPanel: Migration services and guides](https://docs.cpanel.net/knowledge-base/technical-support-services/cpanel-migration-services-and-guides/) · [Plesk Migrator: Introduction](https://docs.plesk.com/en-US/obsidian/migration-guide/introduction.75496/) · [Plesk Migrator: Command line](https://docs.plesk.com/en-US/obsidian/migration-guide/migrating-from-supported-hosting-platfoms/migrating-via-the-command-line.75722/)

**Related:** [Transferring accounts between servers with the WHM Transfer Tool](/guides/whm-transfer-tool/) · [Migrate cPanel accounts to a new server without customers noticing](/guides/migrate-cpanel-accounts-new-server/) · [cPanel Migration Preflight Check](/scripts/cpanel-migration-preflight/) · [Migrate DirectAdmin to cPanel: Complete 9-Step Migration Playbook](/guides/migrate-directadmin-to-cpanel/) · [DNS Propagation Checker](/tools/dns-propagation-checker/)

**See also:** [Migrate DirectAdmin to DirectAdmin: Move All Users to a New Server](/guides/migrate-directadmin-to-directadmin/) · [Plesk AlmaLinux 10: Supported Version and What Is Missing](/guides/plesk-almalinux-10/)

**See also:** [cPanel vs Plesk (2026): Which Control Panel for Hosting?](/guides/cpanel-vs-plesk/) · [Plesk “Unable to connect to database”: PleskDBException Fix](/guides/plesk-unable-to-connect-database/)

## Frequently asked questions

### Can the cPanel Transfer Tool migrate from Plesk?

Yes. The Transfer Tool lists Plesk as a remote server type next to cPanel, DirectAdmin and Ensim. It needs root access to the Plesk server over SSH.

### Does Plesk Migrator support cPanel as a source?

Yes. Plesk’s migration guide lists cPanel 11.5 and later as a supported source platform.

### Can I migrate a single domain from Plesk to cPanel?

The Transfer Tool works per account. In the other direction Plesk Migrator works per subscription, so all domains in that subscription move together.

### What do I have to redo by hand after a Plesk to cPanel move?

Custom DNS records, SpamAssassin settings, mail addresses with a plus sign, FTP users with an underscore, two-factor enrolment and any nginx-specific rules.

### Is there a free migration service?

cPanel lists a free migration service for customers coming from Plesk. Check its current scope on the cPanel migration services page before relying on it.
