> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://v3.viem.sh/api/mcp` to find what you need.

# AbiParameters.decode

:::info
`AbiParameters.decode` is a re-export of ox's [`AbiParameters.decode`](https://oxlib.sh/api/AbiParameters/decode). Refer to the ox documentation for the full reference.
:::

Decodes ABI-encoded data into its respective primitive values based on ABI Parameters.

## Imports

```ts
import { AbiParameters } from 'viem/utils'
```

## Examples

```ts twoslash
// @noErrors
import { AbiParameters } from 'viem/utils'

const data = AbiParameters.decode(
  AbiParameters.from(['string', 'uint', 'bool']),
  '0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000057761676d69000000000000000000000000000000000000000000000000000000'
)
// @log: ['wagmi', 420n, true]
```

### JSON Parameters

You can pass **JSON ABI** Parameters:

```ts twoslash
// @noErrors
import { AbiParameters } from 'viem/utils'

const data = AbiParameters.decode(
  [
    { name: 'x', type: 'string' },
    { name: 'y', type: 'uint' },
    { name: 'z', type: 'bool' }
  ],
  '0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000057761676d69000000000000000000000000000000000000000000000000000000'
)
// @log: ['wagmi', 420n, true]
```

## Definition

```ts
function decode<parameters, as>(
  parameters: parameters,
  data: Bytes.Bytes | Hex.Hex,
  options?: decode.Options<as>,
): decode.ReturnType<parameters, as>
```

## Parameters

### parameters

* **Type:** `parameters`

The set of ABI parameters to decode, in the shape of the `inputs` or `outputs` attribute of an ABI Item. These parameters must include valid [ABI types](https://docs.soliditylang.org/en/latest/types.html).

### data

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

ABI encoded data.

### options

* **Type:** `decode.Options<as>`
* **Optional**

Decoding options.

#### options.as

* **Type:** `"Array" | "Object" | as`
* **Optional**

Whether the decoded values should be returned as an `Object` or `Array`.

#### options.checksumAddress

* **Type:** `boolean`
* **Optional**

Whether decoded addresses should be checksummed.

## Return Type

Array of decoded values.

`decode.ReturnType<parameters, as>`
