# DNSControl

Manage DNS across providers.

Source: [Console review](<https://console.dev/tools/dnscontrol>)

Website: [https://dnscontrol.org/](<https://dnscontrol.org/>)

Profile updated: 2026-10-16

Category: [Infrastructure automation](<https://console.dev/tools/categories/devops-infrastructure-automation>)

## Supported tech stack

Research checked: 2026-10-11

### Runs on

- Linux (Operating system)
- Windows (Operating system)
- macOS (Operating system)

### Integrates with

- Docker (Integration)
- JavaScript (Language)

Source: [Research source](<https://github.com/DNSControl/dnscontrol>)

Documented compatibility; coverage may be incomplete. Written in describes implementation, not user-project language support.

README describes JavaScript-compatible configuration, Linux/macOS/Windows execution and Docker installation.

## Console’s review — 2023-09-07

Reviewed: 2023-09-07

Author: [David Mytton](<https://console.dev/about#david-mytton>)

Citation: [This review](<https://console.dev/tools/dnscontrol#review_d8c23b27d5fe0728ab5c153450d2493be953405e17f16af845c9305b431afc0b>)

### What we like

Single configuration for domains with support for 35+ providers such as AWS Route53, Bind, Cloudflare, DNSimple. Has migration scripts to bring in existing records. Makes it easy to store in Git and push changes via CI/CD. Supports notifications e.g. Slack, when changes are made. The config is JS so you can use JS language features e.g. loops.

### Tradeoffs

The DSL is JS rather than TypeScript, however some editors e.g. VS Code, support autocomplete and type checking.

This review reflects Console’s assessment at publication on 2023-09-07. Features and limitations may have changed since the review date.

## Is DNSControl a fit?

Based on [Console’s review published on 2023-09-07](<https://console.dev/tools/dnscontrol#review_d8c23b27d5fe0728ab5c153450d2493be953405e17f16af845c9305b431afc0b>).

Summary updated: 2026-10-16

### Who it’s for

Developers managing DNS across multiple providers should consider DNSControl

### Why consider it

DNSControl makes it easy to store DNS configurations in Git and push changes via CI/CD

### Keep in mind

The configuration language is JavaScript rather than TypeScript

[Selection criteria](<https://console.dev/selection-criteria>) · [About Console](<https://console.dev/about>) · [Browse tools](<https://console.dev/tools>)
