Web UI Guide#
Step-by-step walkthrough of the DNS Migrator web interface.
Overview#
The web UI is a 4-step wizard with a dark theme. Each step must be completed before advancing to the next.
Step 1: Cloudflare Authentication#
- Enter your Cloudflare API token
- Click Validate
- If valid, a dropdown appears with your Cloudflare accounts
- Select the target account
Tip
Your token needs Zone DNS Edit, Zone Edit, and Account Settings Read permissions. See Prerequisites for details.
Step 2: Choose DNS Source#
Select how DNS records will be discovered:
Probes live DNS using Cloudflare's DNS-over-HTTPS resolver.
- Enter one or more domain names (one per line)
- Click Scan
- The scanner probes ~80 common subdomains plus SRV records
- Progress streams in real-time
- Discovered records are displayed with counts
Best for: Migrating from providers where you don't have API access (GoDaddy, Namecheap, etc.)
Note
Only common subdomain names are probed. Uncommon subdomains may be missed.
Full zone export via Azure Management API.
Bearer Token auth:
- Select Bearer Token
- Paste a token from
az account get-access-token --query accessToken -o tsv - Click Validate
Service Principal auth:
- Select Service Principal
- Enter Tenant ID, Client ID, and Client Secret
- Click Validate
Once authenticated:
- Select your Azure subscription from the dropdown
- Click Load Zones
- All DNS zones are listed with full record counts
Best for: Complete, accurate migration of all Azure DNS records.
Create empty zones in Cloudflare without importing records.
- Enter domain names (one per line)
- Click Submit
Best for: Setting up new zones where you'll add records manually.
Step 3: Select Domains#
All discovered zones are displayed in a list with:
- Checkbox for selection
- Domain name
- Record count (if scanned or imported)
Use the Select All option for bulk selection, or pick individual zones.
Click Next to proceed.
Step 4: Migrate#
The migration begins automatically. For each selected zone:
- Zone creation — Creates the zone in Cloudflare (or detects it already exists)
- Record fetching — Pulls records from the chosen source
- Transformation — Strips FQDN suffixes, removes trailing dots, validates format
- Duplicate check — Compares against existing Cloudflare records
- Record creation — Pushes each record via Cloudflare API
Live Log#
Every action streams to the log in real-time with colour-coded entries:
| Colour | Type | Meaning |
|---|---|---|
| Green | record |
Record created successfully |
| Yellow | skip |
Record already exists, skipped |
| Red | error |
Record creation failed |
| Blue | info |
Informational message |
| Purple | status |
Status update |
| Grey | progress |
Scanner progress |
Results#
When migration completes, you'll see:
- Per-zone summary — Records created, skipped, and failed
- Nameservers — The Cloudflare nameservers to set at your registrar
Don't forget the nameservers
Migration creates records in Cloudflare, but your domain won't use them until you update the nameservers at your registrar.
Example Log Output#
[status] example.com — Creating zone...
[success] example.com — Zone created (ID: abc123)
[info] example.com — Found 10 records in Azure
[record] example.com — [1/10] A www → 93.184.216.34 ✓
[record] example.com — [2/10] A @ → 93.184.216.34 ✓
[skip] example.com — [3/10] CNAME mail — already exists
[record] example.com — [4/10] MX @ → mail.example.com (priority: 10) ✓
...
[zone-complete] example.com — Created: 8, Skipped: 1, Failed: 0
[done] Migration complete