Prerequisites#
Everything you need before running DNS Migrator.
All Deployment Modes#
Cloudflare Account & API Token#
You need a Cloudflare account (free tier is sufficient) and an API token with the following permissions:
| Permission | Scope | Required For |
|---|---|---|
| Zone → DNS → Edit | All zones | Creating DNS records |
| Zone → Zone → Edit | All zones | Creating new zones |
| Account → Account Settings → Read | Account | Listing accounts for selection |
Creating a Cloudflare API Token
- Go to Cloudflare Dashboard
- Click Create Token
- Use Custom Token template
- Add the three permissions listed above
- Set zone/account resources as needed
- Click Continue to summary → Create Token
- Copy the token — you won't see it again
Domain Access#
You need access to your domain registrar to update nameservers after migration.
Web UI (Cloudflare Pages or Local)#
Node.js#
- Node.js 18.0.0 or later
- npm (included with Node.js)
Wrangler (for Cloudflare Pages deployment)#
Or use it via npx without global install.
PowerShell CLI#
PowerShell#
- PowerShell 5.0 or later (Windows PowerShell or PowerShell Core)
Azure CLI#
Required for Azure DNS source:
Azure CLI Installation
If you don't have Azure CLI installed, see the official installation guide.
Azure Permissions#
The Azure identity used needs DNS Zone Reader role (or higher) on the subscription or resource group containing your DNS zones.
Azure DNS Source (Web UI)#
When using Azure DNS as the source in the web UI, you need one of:
Obtain a token from an active Azure CLI session:
Paste this into the web UI.
DNS Scan Source#
No additional prerequisites — the DNS scan uses Cloudflare's public DNS-over-HTTPS resolver. It works against any DNS provider without credentials.
Note
The scanner probes ~80 common subdomain names. Uncommon subdomains may not be discovered. For a complete export, use the Azure DNS source or zone file import.