Technical Setup: Punycode Explained
Punycode is a specialized encoding syntax used to convert Unicode characters, such as Te Reo Māori macrons, into an ASCII-compatible format (ACE) that the Domain Name System (DNS) can resolve. It transforms non-standard characters into a string beginning with “xn--“, ensuring that Internationalized Domain Names (IDNs) function correctly across global internet infrastructure.
Table of Contents
What is Punycode and Why the xn-- Prefix?
In the realm of digital asset management and web infrastructure, the Domain Name System (DNS) is the phonebook of the internet. Historically, DNS was built to support only a limited subset of characters known as ASCII (American Standard Code for Information Interchange). This subset includes the letters a-z, digits 0-9, and the hyphen. It does not natively support the rich variety of characters found in global languages, including the macrons (tohutō) essential to Te Reo Māori.
This limitation created a significant barrier for New Zealand businesses and organizations wishing to represent their names accurately online. Enter Punycode.
Punycode is an instance of the Bootstring encoding algorithm. It allows Unicode characters (like ā, ē, ī, ō, ū) to be represented using only the allowed ASCII character set. When a user types a domain like māori.nz into their browser, the browser internally converts it into a Punycode string—in this case, xn--mori-qsa.nz—before sending the request to the DNS server.

The Anatomy of the xn-- Prefix
The xn-- prefix is known as the ACE (ASCII Compatible Encoding) prefix. It serves a critical function: it signals to applications, browsers, and servers that the string following it is not a standard nonsense word, but an encoded representation of a non-ASCII domain name.
Without this prefix, a system would have no way of distinguishing between a domain that is genuinely named “xn--something” and a Punycode-encoded domain. This standardization ensures that Internationalized Domain Names (IDNs) can coexist with legacy domains without causing routing errors or security vulnerabilities.
Using a Punycode Generator for NZ Domains
For New Zealand digital asset brokers and IT administrators, understanding how to generate these codes is mandatory for setting up servers, SSL certificates, and email systems. While modern browsers handle the conversion automatically for the end-user, server-side configurations often require the manual entry of the Punycode string.
When you search for a “punycode generator nz,” you are essentially looking for a tool that applies the IDNA (Internationalizing Domain Names in Applications) standards to convert UTF-8 characters into the ACE format.
Step-by-Step Conversion Process
- Identify the Unicode Domain: Start with the correct spelling of the domain, including all macrons (e.g.,
tātou.nz). - Select a Reliable Generator: Use tools provided by reputable registrars or the InternetNZ authorized tools to ensure compliance with IDNA2008 standards.
- Generate the String: Input the text. The generator will strip the non-ASCII characters, append them to the end of the string as code, and prefix the result with
xn--. - Verification: For
tātou.nz, the resulting Punycode isxn--ttou-qsa.nz. Always verify the output by reverse-converting it to ensure no data corruption occurred.
It is important to note that the .nz registry supports the registration of macronised domains. Since 2010, InternetNZ has allowed the registration of IDNs, meaning you can register both the ASCII version (without macrons) and the IDN version to protect your brand identity.
Digital Asset Strategy: IDNs in New Zealand
From a brokerage and advisory perspective, owning the IDN variant of a domain is no longer optional—it is a critical component of brand protection and cultural competency. In New Zealand, the correct use of macrons changes the meaning of words. For example, “kekē” means to creak or quack, while “keke” means cake. Failing to secure the macronised version of a domain can lead to brand dilution or confusion.

SEO and User Experience
Google and other search engines treat Punycode domains and their Unicode equivalents as the same entity. However, for display purposes in Search Engine Results Pages (SERPs), Google will generally display the macronised version (māori.nz) to users if the site is configured correctly and the user’s language settings support it. This increases trust and click-through rates (CTR) among local audiences who value linguistic accuracy.
However, the backend “technical” value of the asset lies in its Punycode string. When transferring domains, setting up hosting, or configuring CDNs (Content Delivery Networks), the xn-- string is the immutable identifier that ensures the asset remains accessible.
Configuring DNS Records for IDNs
The most common technical hurdle when deploying IDNs is the configuration of the Domain Name System records. Many legacy DNS management interfaces do not allow the input of special characters like ā, ē, or ō directly into the zone file.
The Golden Rule of DNS for IDNs
Always use the Punycode version (xn--) in your DNS Zone Files.
While some modern DNS providers (like Cloudflare or AWS Route53) may allow you to type the macron version in the UI and convert it automatically in the background, relying on this feature can be risky if you migrate to a different provider later. To ensure maximum compatibility and stability, manual entry of the Punycode string is best practice.
Setting up an A Record
If you are pointing tātou.nz to a web server IP address (e.g., 192.0.2.1), your DNS entry should look like this:
- Host/Name:
@(or blank, depending on provider) - Type:
A - Value:
192.0.2.1
However, if you are setting up a CNAME for a subdomain, such as shop.tātou.nz, the configuration changes:
- Host/Name:
shop - Zone:
xn--ttou-qsa.nz - Type:
CNAME - Value:
shops.shopify.com

Nameserver Configuration
When updating nameservers at the registrar level, the registry backend usually expects the Punycode version. If you try to enter nameservers for tātou.nz, the registrar’s system might reject the input unless it is converted to xn--ttou-qsa.nz first. This is a common friction point for IT teams unfamiliar with IDN protocols.
Troubleshooting Email Issues with IDNs
While web browsing with IDNs is seamless, email remains the most challenging frontier for Punycode adoption. The email ecosystem relies on multiple protocols (SMTP, IMAP, POP3), many of which have legacy roots that predate Unicode support.
Email Address Internationalization (EAI)
To send an email to contact@tātou.nz, both the sender’s email server and the recipient’s email server must support Email Address Internationalization (EAI). If the sender’s server is older and does not support the SMTPUTF8 extension, the email will bounce.
The Punycode Workaround
If you are experiencing deliverability issues, the most robust technical fix is to configure the email account using the Punycode domain on the backend.
For example, in Microsoft 365 or Google Workspace, you would add the domain xn--ttou-qsa.nz as the accepted domain. You can create an alias for the user as contact@xn--ttou-qsa.nz.
Note: While this ensures the email is routed correctly, it results in the recipient seeing the “ugly” Punycode version in the “From” field (e.g., contact@xn--ttou-qsa.nz). To mitigate this, modern email clients are increasingly masking this with the display name, but it is not yet universal.
SSL/TLS Certificates
When securing an IDN with an SSL certificate, the Certificate Signing Request (CSR) must usually be generated using the Punycode version. If you attempt to generate a CSR for tātou.nz using OpenSSL without specific flags, it may fail. Always input the Common Name (CN) as xn--ttou-qsa.nz. The Certificate Authority (CA) will issue the certificate for the Punycode domain, which browsers will correctly interpret as valid for the macronised display name.
Tools for Converting Te Reo to Punycode
For New Zealand businesses managing digital assets, having the right toolset is essential. Below are the recommended pathways for generating Punycode specifically for .nz domains.

1. InternetNZ Resources
InternetNZ is the designated manager for the .nz top-level domain. They provide authoritative guidance on the characters allowed in .nz domain names. While they may not host a direct converter tool on their homepage, their authorized registrars are required to support IDN registration.
2. Browser-Based Developer Consoles
For a quick, developer-centric conversion without relying on third-party websites, you can use the browser’s JavaScript console. This is a secure method as it runs locally on your machine.
// Open Chrome DevTools (F12) and type:
new URL('http://tātou.nz').hostname
// Output: "xn--ttou-qsa.nz"
3. Command Line Tools (Idn2)
For Linux or macOS system administrators, the idn2 command-line utility is the industry standard for batch processing domain lists.
$ idn2 tātou.nz
xn--ttou-qsa.nz
Homograph Attack Awareness
When using public online converters, be wary of “IDN Homograph Attacks.” This is where a malicious actor registers a domain that looks visually identical to a target domain but uses different characters (e.g., a Cyrillic ‘a’ instead of a Latin ‘a’). Always verify the Punycode output matches your expectation. If the Punycode string looks drastically different from previous conversions, investigate immediately.
Frequently Asked Questions
What is the difference between UTF-8 and Punycode?
UTF-8 is a character encoding capable of representing all possible characters (Unicode), including emojis and macrons. Punycode is a subset encoding that translates that UTF-8 data into a restricted ASCII format (A-Z, 0-9) specifically for compatibility with the legacy DNS infrastructure.
Do I need to register both the macron and non-macron versions of my .nz domain?
Yes, it is highly recommended. Registering both (e.g., maori.nz and māori.nz) prevents brand hijacking, ensures users find you regardless of their keyboard capabilities, and secures your digital asset portfolio.
Why does my email signature show xn-- instead of the macron?
This occurs because the underlying email protocol is reading the actual technical address (the Punycode) rather than the display address. This is common in older email clients or when the sending/receiving server lacks full SMTPUTF8 support.
Can I use Punycode for subdomains?
Yes, Punycode works at all levels of the domain hierarchy. You can have shop.xn--mori-qsa.nz or even a macronised subdomain like tātou.example.nz (which would become xn--ttou-qsa.example.nz).
Is Punycode bad for SEO in New Zealand?
No. Google and Bing are fully capable of crawling and indexing Punycode URLs. They recognize the xn-- prefix and map it to the Unicode equivalent. However, you should ensure your canonical tags consistently use one format (usually the Unicode format is preferred for user readability).
How do I install an SSL certificate on a Punycode domain?
You must request the certificate using the Punycode version (e.g., xn--domain.nz) as the Common Name (CN) in your Certificate Signing Request (CSR). Modern browsers will then automatically display the padlock icon for the Unicode version of the URL.

