# DNS records

> Add, change and undo the DNS records of a domain whose DNS Playcode runs, for email, verification and other services.
> Source: https://playcode.io/docs/publish/dns-records - last reviewed 2026-10-09.
> Ask Playcode's agent: "Add the TXT record google-site-verification=abc123 to example.com." It shows you the change and asks you to confirm before it saves; for a domain whose DNS is elsewhere, it tells you what to add there.

Playcode runs the DNS of a domain you bought here or moved here, and you edit its records in **Settings**, **Domains**. For a domain whose DNS is at another provider, you add records at that provider.

## Do it yourself

1. Open **Settings** and choose **Domains** under the workspace.
2. Choose the domain in **Your addresses**.
3. For a domain you bought here, open **Under the hood**: the **Records** list is there. For a domain whose DNS you moved here, the **Records** list is on its page.
4. Choose **Add a record**. Pick the type, then fill the name (`@` for the domain itself) and the value. MX and SRV records also need a priority.
5. Choose **Add record**. The record "Takes effect in about a minute."
6. To change or remove a record, open its menu (the three dots) and choose **Edit** or **Delete**.
7. To undo a change, choose **History**, find the change, choose **Restore to before**, then **Restore**.

The list groups records by what they do: **Your site · locked**, **Your email**, **Verification notes** and **Everything else**. The locked rows keep the domain pointing at your site, so you cannot edit them.

### Move a domain's DNS to Playcode

You keep the registration where it is, and Playcode answers for the domain's records.

1. In **Settings**, **Domains**, choose **Connect one you own**.
2. Type the domain and choose **Scan current records**. Check what Playcode found, add any record it missed, and choose the **Import** button. It names the number of records it imports.
3. At your registrar, replace every nameserver with the two values Playcode shows, then choose **I've switched them**.
4. Wait until the window shows that the domain is on Playcode DNS. Your records answer from Playcode from then on.

> [!NOTE]
> A public scan cannot see every record. If the domain is behind Cloudflare's proxy, export the settings file at your provider and import it here instead: the file carries the true values.

## If it doesn't work

### "Playcode doesn't serve this name's records - they live at your DNS provider, and that's where you edit them."

The domain's DNS is at another provider. Add the record there, or move the DNS to Playcode with the steps above.

### A record shows "Saved - goes live when Playcode DNS serves this domain"

The record is saved, but the DNS host behind the domain cannot serve that type yet. The same goes for "TTL applies when Playcode DNS serves this domain". "Serves as CNAME for now" means an ALIAS record answers as a CNAME until then.

### A change does not show up yet

A change takes about a minute at Playcode. Networks that asked before can keep the old answer for as long as the record's TTL: 1 hour with **Auto**.

### Records for your app's email

When your app sends email from your own domain, Playcode adds the email records itself for a domain it runs. See [Send from your own domain](/docs/add-to-your-app/sending-domain).

## Limits

- Record types: A, AAAA, CNAME, ALIAS, MX, TXT, SRV, CAA and NS.
- Up to 1,000 records per domain. A TXT value can be up to 4,096 characters.
- The TTL can be from 30 seconds to 1 day. **Auto** is 1 hour.
- Locked rows cannot be changed: they keep the domain pointing at your site.
- A settings file you import can be up to 256 KB.
- A domain registered at Cloudflare Registrar cannot move its DNS away from Cloudflare.
- History keeps every change, and it cannot be deleted. A restore adds a new change on top, so you can undo a restore too.
