Hex validity and UTF-8 validity are different questions
The decoder accepts upper- or lowercase RFC 4648 hexadecimal, but rejects odd digits, prefixes, separators, and whitespace rather than cleaning the input silently.
Lowercase hex remains the authoritative result. Invalid UTF-8 bytes still decode successfully and simply have no text preview.