# MirrorMode

`MirrorMode` defines whether to decode mirrored barcodes.

## JSON Structure

**Location in template:**
```
BarcodeFormatSpecificationOptions[i]
    └── MirrorMode
```

**Parent object:** [BarcodeFormatSpecification](https://www.dynamsoft.com/capture-vision/docs/core/parameters/file/auxiliary/barcode-format-specification.md) object

**Example:**

```json
{
    "MirrorMode": "MM_NORMAL"
}
```

> [!NOTE]
> - This snippet shows only the `MirrorMode` parameter.
> - To use it, embed this parameter within a [BarcodeFormatSpecification](https://www.dynamsoft.com/capture-vision/docs/core/parameters/file/auxiliary/barcode-format-specification.md) object.
> - For the complete JSON structure, see:
>   - [Full JSON Structure](https://www.dynamsoft.com/capture-vision/docs/core/parameters/file/index.md#full-json-structure)
>   - [Minimal Valid JSON](https://www.dynamsoft.com/capture-vision/docs/core/parameters/file/index.md#minimal-valid-json-example)

## Parameter Details

The structure of the`MirrorMode` is shown as follow:

| MirrorMode Parameter Details |
| :--------------------------------- |
| **Type**<br>*String* |
| **Candidate Mode List**<br>MM_NORMAL<br>MM_MIRROR<br>MM_BOTH |

### Default Settings

Different barcode formats have different default MirrorMode settings:

- MM_BOTH: QRCode, DataMatrix, PDF417, AZTEC, Micro QR Code, Micro PDF417 and DotCode.
- MM_NORMAL: Other barcode formats

## Candidate Mode Introductions

### MM_MIRROR

Decodes mirror barcodes only.

### MM_BOTH

Decodes both normal and mirror barcodes.

### MM_NORMAL

Doesn't decode mirror barcodes.
