# To Base58

Base58 (similar to Base64) is a notation for encoding arbitrary byte data. It differs from Base64 by removing easily misread characters (i.e. l, I, 0 and O) to improve human readability. For example, `hello world` becomes `StV1DL6CwTryKyV`. To Base58 lives in the **Data format** category of the `fx` menu.

## Parameters

| Parameter | Type   | Required | Default | Description                                                  |
| --------- | ------ | -------- | ------- | ------------------------------------------------------------ |
| Input     | string | yes      | —       | Value to transform. Previous step output or a literal.       |
| Alphabet  | string | no       | Bitcoin | Preset or custom value. Presets include `Bitcoin`, `Ripple`. |

`Input` is the primary value (previous step output or a literal).

## Returned value

| Type     | Description                             |
| -------- | --------------------------------------- |
| `string` | Result of the To Base58 transformation. |

## Limitations

- This operation treats Input as raw bytes (binary-capable). Non-text payloads may display differently after decoding.
- Invalid or mismatched encoding for the chosen options typically raises an evaluation error — fix the Input or options before re-running.

## Example

<details>
<summary>Run To Base58</summary>

Base58 (similar to Base64) is a notation for encoding arbitrary byte data. Adjust optional parameters when the defaults do not match your payload.

1. Set **Input** to the value to transform. Paste:

   ```text title="Input"
   hello world
   ```

2. Review **Alphabet** and keep defaults unless your format requires otherwise.

3. Confirm **Output value** matches the expected result (for example `StV1DL6CwTryKyV`).

</details>
