---
title: "Make non-ASCII domains work · Agent Wranglers"
url: https://agentwranglers.se/playbook/localization/multilingual-websites/idn-support
id: LOC-17
level: Optional
updated: 2026-10-22
tokens: 647
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Make non-ASCII domains work

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Multilingual websites](https://agentwranglers.se/playbook/localization/multilingual-websites.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-22.

- ID: LOC-17
- Level: Optional
- Chapter: [Multilingual websites](https://agentwranglers.se/playbook/localization/multilingual-websites.md)
- Rule: If you use a domain name with non-Latin or accented letters, make its punycode form work everywhere the name appears.
- Check: `curl -sI https://xn--bcher-kva.example/` answers 200 with a valid certificate.
- How: DNS, certificates and server configuration use the punycode form, an ASCII spelling that starts with `xn--`. Put that form in the certificate and the server name. Also own the plain ASCII spelling, and redirect it. Test links in email and on social sites. Accept such email addresses too, as [Accept international addresses](https://agentwranglers.se/playbook/email/message-basics/international-addresses.md) says.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### Shell example

```sh
node -e 'console.log(new URL("https://bücher.example").hostname)'
# xn--bcher-kva.example
```

### nginx example

```nginx
server {
  listen 443 ssl;
  server_name xn--bcher-kva.example;
}
```

## Sources

- [RFC 5890 (IDNA Definitions)](https://www.rfc-editor.org/rfc/rfc5890)
- [RFC 3492 (Punycode)](https://www.rfc-editor.org/rfc/rfc3492)
- [RFC 6531 (SMTP Extension for Internationalized Email)](https://www.rfc-editor.org/rfc/rfc6531)

## Related rules

- EML-6 [Accept international addresses](https://agentwranglers.se/playbook/email/message-basics/international-addresses.md) in Email

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/localization/multilingual-websites/idn-support">Agent Wranglers localization playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Keep names out of machine translation](https://agentwranglers.se/playbook/localization/multilingual-websites/translate-attribute.md)
- [Multilingual websites](https://agentwranglers.se/playbook/localization/multilingual-websites.md)
