DNS Migrator#
Migrate DNS zones from any provider to Cloudflare — cleanly, correctly, and without record mangling.
What It Does#
DNS Migrator solves the critical problem of DNS record corruption during zone transfers. When importing DNS records, relative names like home often become home.example.com and resolve incorrectly as home.example.com.example.com. DNS Migrator strips zone suffixes, removes trailing dots, and pushes clean, correctly-formatted records to Cloudflare via API.
How It Works#
Choose DNS Source (Scan / Azure / Manual)
↓
Discover or import records
↓
Select zones to migrate
↓
DNS Migrator creates zones in Cloudflare
↓
Records are pushed via Cloudflare API
↓
Nameservers displayed for registrar update
Three Ways to Run#
| Mode | Best For | How |
|---|---|---|
| Web UI | Interactive migrations with live feedback | Cloudflare Pages or local Node.js |
| PowerShell (Single) | Scripted single-zone migration | Migrate-DNS.ps1 |
| PowerShell (Batch) | Bulk migration of many zones | Migrate-Batch.ps1 with JSON config |
Three DNS Sources#
| Source | Description |
|---|---|
| DNS Scan | Probes live DNS via DNS-over-HTTPS — works with any provider |
| Azure DNS | Full zone export via Azure Management API — captures all records |
| Manual | Enter domain names only — creates empty zones in Cloudflare |
Key Features#
- Any provider to Cloudflare — scan live DNS from GoDaddy, Route53, Azure DNS, Namecheap, etc.
- Clean record transformation — strips FQDNs, removes trailing dots, validates format
- Duplicate detection — compares existing Cloudflare records before insertion
- Dry-run mode — preview what would be created without making changes
- Batch operations — process multiple zones from a JSON config
- Real-time streaming — live NDJSON feedback for every record created
- Broad record support — A, AAAA, CNAME, MX, TXT, SRV, CAA, NS, PTR
Quick Links#
- Quick Start — Get up and running fast
- Architecture — How it all fits together
- Prerequisites — What you need before starting
- Deployment — Deploy to Cloudflare Pages or run locally
- Web UI Guide — Step-by-step walkthrough of the web interface
- PowerShell CLI — Command-line migration scripts
- API Reference — REST endpoint documentation
- Troubleshooting — Common issues and fixes