How should accented and non-Latin characters be encoded in URLs?

The Citead team, updated

In short. Use UTF-8 percent encoding for non-ASCII characters in URL paths and query values, with descriptive words in the audience's language.

Definition: Accented and non-Latin characters in URL paths and query values are encoded as UTF-8 bytes, with each byte written as a percent sign followed by two hexadecimal digits. The underlying words can remain in the audience's language, including scripts such as Chinese or Arabic.

Key facts

  • As of 17 October 2026, Google's URL structure documentation recommends the audience's language and percent encoding for non-ASCII characters in links' href attributes.
  • The IETF's RFC 3987 specifies conversion to UTF-8 bytes followed by %HH triplets, preferably using uppercase hexadecimal letters.
  • RFC 3986 defines ASCII letters, digits, hyphen, period, underscore and tilde as unreserved characters that can appear without percent encoding.

How does a character become a percent-encoded URL?

UTF-8 is a character encoding that represents a character as one or more bytes. An internationalized resource identifier, or IRI, is an identifier that permits Unicode characters. A uniform resource identifier, or URI, uses the restricted character syntax defined by the IETF. RFC 3987's mapping procedure converts the permitted non-ASCII characters in an IRI to UTF-8 bytes, then replaces each byte with its hexadecimal %HH representation.

Google's URL structure examples include gemüse and 杂货/薄荷. The following HTML links use the corresponding encoded destinations:

<a href="https://example.com/gem%C3%BCse">gemüse</a>
<a href="https://example.com/%E6%9D%82%E8%B4%A7/%E8%96%84%E8%8D%B7">杂货/薄荷</a>

The accented ü becomes %C3%BC. The Chinese example retains the slash separating its path segments while encoding the characters within them.

How should the readable URL be structured?

Google's readability guidance recommends descriptive words and gives Japanese ペパーミント as an example in the audience's language. It also allows transliterated words, which represent words from one script using another script.

The same documentation recommends hyphens to separate words and removing unnecessary parameters that leave the content unchanged. For query parameters, it specifies = between a key and its value, with & between additional parameters.

Google treats /APPLE and /apple as distinct URLs. Where a server treats upper and lower case alike, the documentation recommends consistent case across the URL text.

Which encoding mistakes should be avoided?

RFC 3986's encoding rules distinguish structural separators from character data. A reserved character used as data must be encoded when it conflicts with its delimiter role. Encoding the entire assembled URL indiscriminately can therefore alter its structure: slashes that separate path segments retain that role.

The same standard represents a space as %20 and a literal percent sign as %25. It prohibits encoding or decoding the same string more than once, because existing escape sequences can be misinterpreted. URL construction applies encoding to the component data when assembling the URI.

Hexadecimal letter case has a separate rule: uppercase and lowercase hex digits in percent escapes are equivalent. RFC 3986 recommends uppercase hex digits for consistency.

FAQ

Must I remove accents or convert every word to Latin letters?

Google's language guidance supports words in the audience's language, including Japanese, and also permits transliteration. You can retain accented or non-Latin words and percent encode their non-ASCII characters in link destinations.

Should I encode hyphens and underscores?

RFC 3986 places both in the unreserved character set, so you can leave them unencoded. For word separation, Google's documentation recommends hyphens.

Sources

  1. Google Search Central, "URL structure best practices for Google Search", updated 10 December 2025
  2. IETF, "RFC 3987: Internationalized Resource Identifiers (IRIs)", January 2005
  3. IETF, "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax", January 2005

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark