Google Search Internal Issues With Square Brackets [] Punctuations In URLs

Oct 20, 2026 - 7:31 am 0 — by

Google Brackets

Google Search had some issues handling square brackets punctuation marks (i.e. [ ]) within URLs. John Mueller from Google responded to former Googler, Vanessa Fox, saying that he is "seeing some of the issues internally that came up with these kinds of characters in the URL."

He then added in round brackets saying, "(though they're 10+ years ago)." He also said, "it might be that other crawlers / indexers / fetchers aren't as exact in this logic, so it might be worth double-checking those you care about."

Vanessa Fox's original question was on Bluesky, she wrote:

I posted this question in the YT video comments: For URLs with characters that can be encoded (brackets, plus signs, spaces), does Google treat the encoded version as a distinct URL? (example.com/category?filter[]=123 vs. example.com/category?filter%5B%5D=123 used in links vs. canonical values).

John Mueller from Google had this long reply:

Well, TIL. I would have assumed they're equivalent, but they're NOT. This was a fun side-track. "?filter[]=123" ≠ "?filter%5B%5D=123" because in RFC 3986, Section 2.2 the characters brackets ([, ]) and plus signs (+) are defined as part of the reserved set.

"URIs that differ in the replacement of a reserved character with its corresponding percent-encoded octet are not equivalent. Percent-encoding a reserved character, or decoding a percent-encoded octet that corresponds to a reserved character, will change how the URI is interpreted by most applications. Thus, characters in the reserved set are protected from normalization..." — IETF STD 66 / RFC 3986, Section 2.2

JavaScript can even check for this: new URL('https://example.com/category?filter[]=123').href === new URL('https://example.com/category?filter%5B%5D=123').href // Output: false

That said, *maybe* your server makes them "soft-equivalent" by serving the same content. We'd crawl both versions, if we see the same content (maybe even checksum level), we'd de-dupe them and pick one.

So in short, pick one, and use it consistently (links, canonical, sitemaps, structured data). The same is with " " (space), + (plus), and "%20", but with the bonus of this being different depending on which URL element it's in (path vs query string).

I knew about the spaces part, but the brackets was unexpected, and I probably gave people the wrong answer on this in the past. Woops. BTW for hex-encoding, the case doesn't matter, so "%5B" === "%5b".

As if that wasn't enough; brackets: not only are they not equivalent, the URL with ?filter[]=123 is technically invalid (according to RFC 3986) since [ ] may only appear in the hostname to wrap raw IPv6 addresses 🤯. Browsers generally hex-encode them when you enter them, and servers are like cats.

Vanessa Fox then followed up and wrote:

Ack - I saw that! But this particular site is using the invalid form of [] throughout and it seems to be indexing fine, and it would be a ton of work to change it so they are leaving it for now... fingers crossed?

John Mueller replied:

I'd expect it to continue to work - the web is messy and not all of it is "technically correct" - but I wouldn't set up a new site like this, and I'd pay extra attention to all the internal linking (including metadata like rel=canonical, structured data, etc) to make it consistent.

Also, seeing some of the issues internally that came up with these kinds of characters in the URL (though they're 10+ years ago), it might be that other crawlers / indexers / fetchers aren't as exact in this logic, so it might be worth double-checking those you care about.

So Google probably can handle it now, but it's better to be safe?

Forum discussion at Bluesky.

 

Popular Categories

The Pulse of the search community

Google Search Volatility

More Details

Search Video Recaps

 
Video Details More Videos Subscribe to Videos

Most Recent Articles

Google Maps

Google Business Profiles Verification With Government ID

Oct 20, 2026 - 7:51 am
Google Ads

Google Hotel Ads Legacy Length Of Booking Bid Adjustment Doc

Oct 20, 2026 - 7:41 am
Google Search Engine Optimization

Google Search Internal Issues With Square Brackets [] Punctuations In URLs

Oct 20, 2026 - 7:31 am
Bing Search

Bing Tests Not Showing Sitelinks

Oct 20, 2026 - 7:21 am
Google Maps

Google Business Profiles Review Appeals Are Delayed Again

Oct 20, 2026 - 7:11 am
Google

Google Search Tests Removing Horizontal Rule Line Under Tabs

Oct 20, 2026 - 7:05 am
Previous Story: Bing Tests Not Showing Sitelinks