> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Parse from URL encoded

> Takes a URL encoded string and converts it to plain text.

export const FormField = ({property, label, required = false, diType, uiPatterns, children}) => {
  const patterns = Array.isArray(uiPatterns) ? uiPatterns : uiPatterns ? [uiPatterns] : [];
  return <div style={{
    margin: '1.5rem 0'
  }}>
      <div style={{
    display: 'flex',
    alignItems: 'baseline',
    flexWrap: 'wrap',
    gap: '0.5rem',
    marginBottom: '0.25rem'
  }}>
        <strong>{label}</strong>
        <span style={{
    fontSize: '0.7rem',
    fontWeight: 600,
    textTransform: 'uppercase',
    letterSpacing: '0.04em',
    color: required ? '#6241f5' : '#6b7280'
  }}>
          {required ? 'Required' : 'Optional'}
        </span>
      </div>

      <div>{children}</div>

      {diType || patterns.length > 0 ? <p style={{
    fontSize: '0.85rem',
    color: '#6b7280',
    marginBottom: 0
  }}>
          {diType ? <>
              See the <a href={`/references/${diType}`}>{diType}</a> reference.{' '}
            </> : null}
          {patterns.length > 0 ? <>
              Accepts a <a href={`/documentation/placeholders-and-patterns/patterns#${patterns[0]}`}>pattern</a>.
            </> : null}
        </p> : null}
    </div>;
};

Takes a URL encoded string and turns it back into ordinary readable text. Use this when a value arrives with the percent-escapes that web addresses and query strings use, such as `%20` for a space or `%C3%A9` for an accented letter, and you want the plain version. It reverses that escaping so spaces, ampersands, and accented characters read normally again.

If the decoded text is in a character set other than UTF-8, you can turn on the encoding option to have it converted as well.

This documentation describes: [Schema](/schemas/deserializer/url-decode)

## Fields

<FormField property="encodeInput" label="Input data is not UTF-8 encoded">
  Turn this on when the text is in a character set other than UTF-8, so accented and special characters come through correctly. It is off by default. Turning it on reveals the encoding and conversion options below.
</FormField>

<FormField property="encodingFrom" label="Encoding">
  The character set the incoming text is currently in. Choose from UTF-16, ISO-8859-1, or Windows-1252. Only shown when the encoding option above is on.
</FormField>

<FormField property="modifier" label="Conversion behaviour">
  How to handle characters that cannot be converted to UTF-8: leave it as NONE to fail on an unconvertible character, IGNORE to drop it, or TRANSLIT to replace it with the closest available character. Only shown when the encoding option is on.
</FormField>

## Sample data

This parser takes no settings of its own. It simply decodes the percent-escapes in the incoming text.

Input:

```json theme={null}
{
    "raw": "Caf%C3%A9%20%26%20Bakery"
}
```

Output:

```json theme={null}
{
    "raw": "Café & Bakery"
}
```

`%C3%A9` becomes `é`, `%20` becomes a space, and `%26` becomes `&`.

```json Configuration theme={null}
{
  "prototype": "url-decode",
  "parameters": {}
}
```
