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.
Uint8Array.fromHex(string)
stringA hexadecimal string encoding bytes to convert to a Uint8Array. The string must:
Uint8Array.prototype.setFromBase64()).A new Uint8Array object containing the decoded bytes from the hexadecimal string.
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.
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 ]
| Specification |
|---|
| Uint8Array to/from base64> # sec-uint8array.fromhex> |
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
fromHex |
140 | 140 | 133 | 124 | 18.2 | 140 | 133 | 92 | 18.2 | No | 140 | 18.2 | 1.1.22 | 2.5.0 | 25.0.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/fromHex