Skip to content

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

Source Code#

GitHub Repository