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 |
---|
Uint8Array to/from base64 # sec-uint8array.fromhex |
Browser compatibility
Loadingβ¦