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

# IconConverter

> Handles JSON conversion for icon properties that can be either strings or objects.

## Definition

**Assembly:** Mintlify.Core.dll

**Namespace:** Mintlify.Core.Converters

**Inheritance:** System.Text.Json.Serialization.JsonConverter\<Mintlify.Core.Models.IconConfig>

## Syntax

```csharp theme={"dark"}
Mintlify.Core.Converters.IconConverter
```

## Summary

Handles JSON conversion for icon properties that can be either strings or objects.

## Remarks

Icons in Mintlify can be specified as:

* String: Simple icon name (e.g., "folder", "home")
* Object: Icon configuration with name, style, and library properties

## Constructors

### <Icon icon="hammer" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> .ctor

#### Syntax

```csharp theme={"dark"}
public IconConverter()
```

## Methods

### <Icon icon="code-merge" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> CanConvert <Badge color="blue">Override</Badge>

Determines whether the specified type can be converted by this converter.

#### Syntax

```csharp theme={"dark"}
public override bool CanConvert(System.Type typeToConvert)
```

#### Parameters

| Name            | Type          | Description          |
| --------------- | ------------- | -------------------- |
| `typeToConvert` | `System.Type` | The type to convert. |

#### Returns

Type: `bool`
True if the type is IconConfig; otherwise, false.

### <Icon icon="code-merge" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Read <Badge color="blue">Override</Badge>

Reads and converts the JSON to an IconConfig object.

#### Syntax

```csharp theme={"dark"}
public override Mintlify.Core.Models.IconConfig Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
```

#### Parameters

| Name            | Type                                     | Description             |
| --------------- | ---------------------------------------- | ----------------------- |
| `reader`        | `System.Text.Json.Utf8JsonReader`        | The JSON reader.        |
| `typeToConvert` | `System.Type`                            | The type to convert to. |
| `options`       | `System.Text.Json.JsonSerializerOptions` | The serializer options. |

#### Returns

Type: `Mintlify.Core.Models.IconConfig?`
An IconConfig for both simple icon names and complex icon configurations.

#### Exceptions

| Exception       | Description                                       |
| --------------- | ------------------------------------------------- |
| `JsonException` | Thrown when the JSON token type is not supported. |

### <Icon icon="code-merge" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Write <Badge color="blue">Override</Badge>

Writes the IconConfig object to JSON.

#### Syntax

```csharp theme={"dark"}
public override void Write(System.Text.Json.Utf8JsonWriter writer, Mintlify.Core.Models.IconConfig value, System.Text.Json.JsonSerializerOptions options)
```

#### Parameters

| Name      | Type                                     | Description                    |
| --------- | ---------------------------------------- | ------------------------------ |
| `writer`  | `System.Text.Json.Utf8JsonWriter`        | The JSON writer.               |
| `value`   | `Mintlify.Core.Models.IconConfig?`       | The IconConfig value to write. |
| `options` | `System.Text.Json.JsonSerializerOptions` | The serializer options.        |
