# PersonalMessage.encode

Encodes a personal sign message in [ERC-191 format](https://eips.ethereum.org/EIPS/eip-191#version-0x45-e): `0x19 ‖ "Ethereum Signed Message:\n" + message.length ‖ message`.

## Imports

:::code-group
```ts [Named]
import { PersonalMessage } from 'ox'
```

```ts [Entrypoint]
import * as PersonalMessage from 'ox/PersonalMessage'
```
:::

## Examples

```ts twoslash
import { Hex, PersonalMessage } from 'ox'

const data = PersonalMessage.encode(
  Hex.fromString('hello world')
)
// @log: '0x19457468657265756d205369676e6564204d6573736167653a0a313168656c6c6f20776f726c64'
// @log: (0x19 ‖ 'Ethereum Signed Message:\n11' ‖ 'hello world')
```

## Definition

```ts
function encode(
  data: Hex.Hex | Bytes.Bytes,
): Hex.Hex
```

**Source:** [src/core/PersonalMessage.ts](https://github.com/wevm/ox/blob/main/src/core/PersonalMessage.ts#L81)

## Parameters

### data

* **Type:** `Hex.Hex | Bytes.Bytes`

The data to encode.

## Return Type

The encoded personal sign message.

`Hex.Hex`
