# From 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, `StV1DL6CwTryKyV` becomes `hello world`. From 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`. |
| Remove non-alphabet chars | boolean | no       | `true`  | Enabled by default.                                          |

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

## Returned value

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

## Limitations

- 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 From 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"
   StV1DL6CwTryKyV
   ```

2. Review **Alphabet**, **Remove non-alphabet chars** and keep defaults unless your format requires otherwise.

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

</details>
