> For the complete documentation index, see [llms.txt](https://docs.onum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onum.com/pipelines/actions/transformation/field-transformation/field-transformation-operations/data-format/from-hex.md).

# From hex

## Description

This operation is used to convert hexadecimal-encoded data back into its original form, whether it’s plain text, binary data, or another format. Hexadecimal encoding is often used to represent binary data in a readable, ASCII-compatible format.

***

## Data types

These are the input/output expected data types for this operation:

### Input data

`String` - The hexadecimal-encoded data you want to decode.

### Output data

`String` - Decoded string.

***

## Parameters

These are the parameters you need to configure to use this operation (mandatory parameters are marked with a <mark style="color:red;">**\***</mark>):

<details>

<summary>Delimiter</summary>

Specify a delimiter if your hex data is separated by spaces, commas, or another character. Select one of the following:

* **Auto** - Automatically detects the formatting of the hexadecimal data, making it a versatile choice when the exact format isn’t known or when the data is inconsistently formatted.
* **Space** - Assumes that each byte (two hex characters) is separated by a single space.
* **Percent** - Assumes that each hex byte is separated by a percent sign (`%`)
* **Comma** - Assumes that each hex byte is separated by a comma (`,`)
* **Semi-colon** - Assumes that each hex byte is separated by a semi-colon (`;`)
* **Colon** - Assumes that each hex byte is separated by a colon (`:`)
* **0x** - Assumes that each hexadecimal byte or value in the input starts with the `0x` prefix. The operation will ignore the `0x` part and treat the following characters as hexadecimal data.
* **0x with comma** - This option is similar to the `0x` option but also expects each hex value to be separated by a comma. Each value in the input should be prefixed by `0x` and separated from the next by a comma.
* **backslash-x** - Interprets hexadecimal data prefixed by `\x` in each hex pair. This format is commonly found in programming and scripting languages (like JavaScript, C, or Python) where `\x` is used to denote hexadecimal byte values.
* **None** - This option assumes that the hexadecimal data is a continuous string without any separators between each byte. This is the default value.

</details>

***

## Example

Suppose you want to **decode** a series of events including **hexadecimal-encoded** data:

1. In your Pipeline, open the required [Action](/pipelines/actions.md) configuration and select the input **Field**.
2. In the **Operation** field, choose **From Hex**.
3. Set **Delimiter** to `Space`.
4. Give your **Output field** a name and click **Save**. The values in your input field will be decoded. For example:

```
Input data - "48 65 6c 6c 6f 20 57 6f 72 6c 64"

Delimiter - Space

Output data - "Hello World"
```

{% hint style="info" %}
You can try out operations with specific values using the **Input** field above the operation. You can enter the value in the example above and check the result in the **Output** field.
{% endhint %}
