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…