Emergency server help: get in touch

DNS TXT Record Splitter: Split Long Values Into 255-Byte Strings

Split long TXT values (DKIM keys, SPF) into 255-byte quoted strings for BIND and Cloudflare, or join split strings back into one value.

Last updated
October 6, 2026

Short answer: Paste a long TXT value, such as a 2048-bit DKIM key or a long SPF record, and the splitter breaks it into quoted strings of at most 255 bytes, formatted for a BIND zone file and for Cloudflare. Paste quoted strings instead and it joins them back into one value so you can check what receivers will read.

Built and tested in Chromium on 6 Oct 2026; runs entirely in your browser.

How to use the TXT splitter

  1. Paste the value. Line breaks inside a plain value are removed; quoted strings are read with their escapes.
  2. Leave Direction on automatic: quoted input is joined, plain input is split. Choose a direction to force it.
  3. Optionally enter the record name, such as default._domainkey, to get a complete zone-file line.
  4. Press Convert and copy the form your DNS host needs.

What the output means

FieldMeaning
Value lengthSize in bytes. Characters outside plain ASCII take more than one byte, so bytes are what count.
Strings neededHow many 255-byte strings the value needs.
Cloudflare / quoted formAll strings on one line, each in double quotes.
BIND zone fileA ready-to-paste record; long values are wrapped in parentheses over several lines.
Joined valueIn join mode: the strings concatenated with nothing in between, which is how SPF, DKIM and DMARC readers see them.

RFC 1035 limits each character-string in a TXT record to 255 bytes, but one record can hold several strings. RFC 7208 says SPF records made of several strings are joined without adding spaces, and DKIM and DMARC are read the same way, so where the split falls does not matter.

Examples

Split a DKIM record for BIND

default._domainkey	IN	TXT	(
	"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
	"...IDAQAB" )

Check a record copied from cPanel

cPanel writes long values to the zone file as several strings and escapes semicolons, for example "v=DKIM1\; k=rsa\; p=MIIB…" "…IDAQAB\;" (seen on our cPanel 11.138 lab server). Paste the line in join mode: the tool removes the record name, reads the escapes and shows the joined value.

Cloudflare

Cloudflare’s DNS FAQ explains that a value longer than 255 characters is split into several quoted strings automatically, which is why a record can show a quote in the middle. You can paste the plain value, or the quoted form from this tool.

Common mistakes

  • Adding a space between strings. A space inside the quotes becomes part of the value and breaks a base64 key. The space between quoted strings is fine.
  • Pasting the quotes into a panel that adds its own. In cPanel’s Zone Editor and most web panels, paste the plain value.
  • Two SPF records instead of one split record. Splitting keeps one record. Two separate v=spf1 TXT records make SPF fail with a permerror.
  • Unescaped quotes or backslashes. In a zone file they must be written as \" and \\. The tool does this for you.
  • Very large records. Values over about 2,048 bytes are rejected by some DNS hosts; the tool warns you.

Official documentation: RFC 1035 section 3.3.14 (TXT) · RFC 7208 section 3.3 (multiple strings) · Cloudflare DNS FAQ

Related: DNS Lookup: Query Any Record Type · DKIM Checker · SPF Record Generator · MailBaby Cloudflare DNS: 3 Records (SPF, DKIM, DMARC) · SPF, DKIM and DMARC in cPanel DNS: Setup and Checks

See also: SPF Too Many DNS Lookups: Fix PermError and the 10-Lookup Limit · SPF Lookup Counter: Check the 10 DNS Lookup Limit · Find a DKIM Selector: Headers, Panel Defaults and Key Checks · Split a 2048-bit DKIM TXT Record Over 255 Characters · DKIM Key Generator: 2048-bit Key Pair and DNS Record

Frequently asked questions

What is the maximum length of a TXT record?

Each string inside a TXT record is limited to 255 bytes, but a record can contain several strings. Many DNS hosts also cap the whole record, often around 2,048 bytes or more.

Does splitting a DKIM key break it?

No. Receivers join the strings with nothing in between, so the key is read exactly as before, as long as no spaces were added inside the quotes.

Why does my TXT record show a quote in the middle?

Because the value is longer than 255 bytes and is stored as two or more strings. That is normal.

Do I need to split the value myself in Cloudflare or cPanel?

Usually not. Both store long values as several strings. Use the quoted form when you edit zone files by hand or when a panel rejects the long value.

Why are bytes counted, not characters?

DNS limits are in bytes. Plain ASCII uses one byte per character, but accented and other non-ASCII characters use two or more.

Free website test

Is your website set up right?

Check SSL, security headers, redirects, robots.txt, sitemap, llms.txt and security.txt in one test. It takes about 30 seconds.