# CompressOptions

```ts
type CompressOptions = {
  convertHeic?: boolean;
  convertSize?: number;
  keepOriginalDimensions?: boolean;
  maxHeight?: number;
  maxWidth?: number;
  mimeType?: "image/jpeg" | "image/webp";
  onProgress?: (stage) => void;
  quality?: number;
  strict?: boolean;
};
```

Defined in: packages/sdk/src/web/index.ts:274

Subset of compressorjs options exposed by the SDK. Matches the
`DEFAULT_COMPRESSION_OPTIONS` shape below.

## Properties

### convertHeic?

```ts
optional convertHeic?: boolean;
```

Defined in: packages/sdk/src/web/index.ts:296

Convert HEIC/HEIF inputs to JPEG via heic2any first. Default true.
Has no effect on non-HEIC inputs.

***

### convertSize?

```ts
optional convertSize?: number;
```

Defined in: packages/sdk/src/web/index.ts:287

compressorjs `convertSize`: PNG > this byte count auto-converts to
JPEG before the quality pass. Default 5 MB (5 * 1024 * 1024).

***

### keepOriginalDimensions?

```ts
optional keepOriginalDimensions?: boolean;
```

Defined in: packages/sdk/src/web/index.ts:291

Skip the resize pass (keep original dimensions). Default false.

***

### maxHeight?

```ts
optional maxHeight?: number;
```

Defined in: packages/sdk/src/web/index.ts:282

Max edge in pixels. Default 3840.

***

### maxWidth?

```ts
optional maxWidth?: number;
```

Defined in: packages/sdk/src/web/index.ts:280

Max edge in pixels. Default 3840.

***

### mimeType?

```ts
optional mimeType?: "image/jpeg" | "image/webp";
```

Defined in: packages/sdk/src/web/index.ts:278

Output format. Default `"image/webp"`.

***

### onProgress?

```ts
optional onProgress?: (stage) => void;
```

Defined in: packages/sdk/src/web/index.ts:298

Optional progress hook. Useful for UI status indicators.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `stage` | [`CompressStage`](/api/nitida/sdk/web/type-aliases/compressstage/) |

#### Returns

`void`

***

### quality?

```ts
optional quality?: number;
```

Defined in: packages/sdk/src/web/index.ts:276

0..1. Default 0.80.

***

### strict?

```ts
optional strict?: boolean;
```

Defined in: packages/sdk/src/web/index.ts:289

compressorjs strict mode. Default true.