Uint8Array.fromHex()
Baseline 2025Newly available
Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
TheUint8Array.fromHex() static method creates a newUint8Array object from a hexadecimal string.
This method parses the string into a byte array. To convert the string into a single number, use theparseInt() function withradix set to16 instead.
In this article
Syntax
Uint8Array.fromHex(string)Parameters
stringA 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 newUint8Array object containing the decoded bytes from the hexadecimal string.
Exceptions
SyntaxErrorThrown if the input string contains characters outside the hex alphabet, or its length is odd.
TypeErrorThrown if the input string is not a string.
Examples
>Decoding a hexadecimal string
This example decodes a hexadecimal string into aUint8Array.
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> |