Chrome currently considers a URL invalid if the URL's path part contains "%00" (or null), which is not compliant with the URL Standard [1]. For example, the following test fails in Chrome because new URL(..) throws an Invalid URL exception. assertEquals(new URL("http://example.com/%00").pathname, "/%00"); According to the URL Standard, any character or byte sequence in URL path should not make the URL invalid. Note: In other parts of URL, "%00" may still be considered invalid. For example, new URL("http://example%00.com/"); throws an exception because "%00" is not a valid host codepoint. - [1] https://url.spec.whatwg.org/