Skip to content

Zone management

Record editor

Edit DNS records with structured fields for each type. Add, inspect, merge, delete, and bulk-edit records while keeping names, targets, and TTLs valid.

5 min read

On this page

The record editor lets you add, edit, delete, filter, and replace record sets with type-aware fields. The key point is that every change stays in the browser draft until you select Save changes; saving still does not touch a provider until you preview and push.

Find and inspect records#

Open Zones, choose a zone, and stay on Records. The table shows Name, Type, Value, and TTL. Names are displayed relative to the zone: @ is the apex and www means www.example.com.. Values are grouped into record sets, so one row can contain several A addresses, MX exchanges, or TXT strings.

Use Search records to match a name, type, or value. The All types menu filters to types already present in the draft. Provider warnings such as Not at Route 53 come from the capabilities of every connection assigned to the zone; open Record types for the full field and support reference.

The Zone checks panel updates from the current draft. It starts open when the page first renders with errors and sorts errors before warnings and notes. Selecting a record link puts that owner name in Search records. These checks do not save or push anything; see Lint and validation.

Add a record#

Open the form

Select Add record. The dialog says Changes stay in your draft until you save the zone.

Choose the owner and type

Enter Name relative to the displayed zone. Use @ for the apex or start with * for a wildcard. Choose Type from the types accepted by at least one assigned provider.

Set the TTL and data

Choose a TTL preset or Custom…, then complete Value or Values. Select Add another value to keep several values in one record set when the type allows it.

Put it in the draft

Select Add record. Review Zone checks, then select Save changes in the unsaved-change bar.

With no assigned provider, the type menu offers the common A, AAAA, CNAME, MX, TXT, NS, SRV, and CAA types. With providers assigned, it uses the union of their catalog capabilities. ALIAS is also offered when a destination supports hostname aliases. SOA, DNSKEY, and MXE are hidden from the add menu: SOA and DNSKEY are provider-managed during planning, while MXE is not exposed by the current form.

Use the structured value fields#

TypeFields shownWhat the editor stores
A / AAAAAddressA normalized IPv4 or compressed IPv6 address.
CNAME / ALIAS / DNAME / NS / PTRTargetA lowercased fully qualified target. A relative target is completed with the current zone; @ means the apex and . stays the DNS root.
MXPriority, Mail serverPriority from 0 through 65535 followed by the fully qualified exchange. 0 . is a null MX.
SRVPriority, Weight, Port, TargetThree integers from 0 through 65535 and a fully qualified target.
CAAFlags, Tag, ValueFlag 0 or 128 critical, a tag, and a quoted value. The menu includes issue, issuewild, iodef, issuemail, and issuevmc.
TXT / SPFTextUnquoted text. The editor shows its character count and notes when it will be sent as several strings of up to 255 characters.
Other offered typesRecord dataOne raw RDATA string, normalized for whitespace where the canonical model has no structured editor. A format hint appears for many advanced types.

For example, enter mail as the name, choose MX, set priority 10, and enter mx1.mail.example.net.. The draft represents it as:

text
mail  300  IN  MX  10 mx1.mail.example.net.

Host targets without a trailing dot are treated as relative to the managed zone. Entering app as a CNAME target in example.com stores app.example.com.; enter app.vendor.example. when the target belongs elsewhere.

TXT text should be entered without surrounding quotes. The canonical model stores the logical text; release serializers quote it and split it into 255-character chunks where needed. The editor caps one TXT value at 65,535 characters, while provider-specific logical-value limits can be lower and are checked separately.

Choose a TTL#

The presets are 1 minute, 5 minutes, 30 minutes, 1 hour, 4 hours, and 1 day. A custom TTL must be a whole number of seconds from 1 through 2,147,483,647 in this dialog. New records start with the zone's Default TTL, or 300 seconds if the zone has no default.

When Cloudflare is assigned, the menu also offers Auto (Cloudflare), stored as 1; the checker recognizes it as Cloudflare’s automatic-TTL value rather than an out-of-range TTL. Zone checks warns about other positive TTLs outside an assigned provider’s catalog range. The release managed-zone planner does not clamp them, so choose a TTL every destination accepts.

Use provider-specific controls#

When Cloudflare is assigned and the type is A, AAAA, or CNAME, Proxy through Cloudflare adds proxy metadata. Other providers in the same managed zone receive an ordinary unproxied record.

When Route 53 is assigned and the type is A or AAAA, Route 53 alias replaces values with an Alias target. You can also provide Hosted zone ID and choose Evaluate target health. CloudFront's hosted-zone ID can be inferred by the adapter; other AWS targets may need an explicit ID. See Amazon Route 53.

A dnsconfig.js loaded through Config as code can retain Cloudflare comments, Azure resource aliases, and Route 53 routing or alias metadata. The grid shows alias targets and a routing-policy badge, but not every retained field. The current record dialog exposes only the Cloudflare proxy and Route 53 A/AAAA alias controls.

Edit, merge, and delete#

Select the pencil action for Edit type name, change the fields, and select Update record. Select the trash action for Delete type name. Deleting removes the set from the draft and shows an Undo action; it is not saved yet.

Adding a record with the same canonical record-set key merges unique values into the existing set. Editing a set into a key that already exists replaces the edited entry and removes the duplicate key. Saving normalizes owner names, values, ordering, and duplicate values; if duplicate source sets have different TTLs, the lowest TTL wins and lint reports the inconsistency.

CNAME, ALIAS, and DNAME are single-value in the form. Other types offer Add another value. A saved record set can contain at most 500 values, and a managed zone can contain at most 10,000 record sets.

Make larger changes#

The table does not currently have row selection or a bulk-edit action. To change many records in the web UI, open Config as code, paste or open a dnsconfig.js containing the same D("zone"), select Read the config, and then select Load zone into the editor. That replaces the draft records and draft settings while preserving the zone's assigned provider connections. Review the Records table and Zone checks before saving.

For generated sets, select Use a builder and follow Record builders. For a BIND-style source, use the zone file validator before importing it through a migration or zone-file workflow.