Uint8Array.fromHex()
Baseline 2025>
Newly available
Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The Uint8Array.fromHex() static method creates a new Uint8Array object from a hexadecimal string.
This method parses the string into a byte array. To convert the string into a single number, use the parseInt() function with radix set to 16 instead.
Syntax
Uint8Array.fromHex(string)
Parameters
string-
A hexadecimal string encoding bytes to convert to a
Uint8Array. The string must:- Have an even number of characters because two characters encode one byte.
- Only contain characters in the hexadecimal alphabet, which includes 0–9 and A–F (case-insensitive).
- Not contain whitespace (unlike
Uint8Array.prototype.setFromBase64()).
Return value
A new Uint8Array object containing the decoded bytes from the hexadecimal string.
Exceptions
SyntaxError-
Thrown if the input string contains characters outside the hex alphabet, or its length is odd.
TypeError-
Thrown if the input string is not a string.
Examples
>Decoding a hexadecimal string
This example decodes a hexadecimal string into a Uint8Array.
const hexString = "cafed00d";
const bytes = Uint8Array.fromHex(hexString);
console.log(bytes); // Uint8Array [ 202, 254, 208, 13 ]
Uppercase characters are also supported:
const hexString = "CAFEd00d";
const bytes = Uint8Array.fromHex(hexString);
console.log(bytes); // Uint8Array [ 202, 254, 208, 13 ]
Specifications
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-uint8array.fromhex> |