Skip to content
On this page

toBytes โ€‹

Encodes a string, hex value, number or boolean to a byte array.

Shortcut Functions:

Import โ€‹

ts
import { toBytes } from 'viem'

Usage โ€‹

ts
import { toBytes } from 'viem'

toBytes('Hello world')
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])

toBytes('0x48656c6c6f20576f726c6421')
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])

toBytes(420)
// Uint8Array([1, 164])

toBytes(true)
// Uint8Array([1])

Returns โ€‹

ByteArray

The byte array represented as a Uint8Array.

Parameters โ€‹

value โ€‹

  • Type: string | Hex

The value to encode as bytes.

ts
toBytes(
  'Hello world'
)
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])

options โ€‹

ts
toBytes(
  'Hello world', 
  { size: 32 }
)
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

Shortcut Functions โ€‹

hexToBytes โ€‹

  • Type: Hex

Encodes a hex value to a byte array.

ts
import { numberToHex } from 'viem'

hexToBytes('0x48656c6c6f20576f726c6421') 
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])

hexToBytes('0x48656c6c6f20576f726c6421', { size: 32 }) 
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

stringToBytes โ€‹

  • Type: Hex

Encodes a string to a byte array.

ts
import { numberToHex } from 'viem'

stringToBytes('Hello world') 
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])

stringToBytes('Hello world', { size: 32 }) 
// Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

numberToBytes โ€‹

  • Type: number | bigint

Encodes a number to a byte array.

ts
import { numberToHex } from 'viem'

numberToBytes(420) 
// Uint8Array([1, 164])

numberToBytes(420, { size: 32 }) 
// Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 164])

boolToBytes โ€‹

  • Type: boolean

Encodes a boolean to a byte array.

ts
import { boolToHex } from 'viem'

boolToBytes(true) 
// Uint8Array([1])

boolToBytes(true, { size: 32 }) 
// Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])

Released under the MIT License.