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

# Face and plate privacy

> Automatic face and license-plate blur or pixelation, plus coordinate-based region privacy for sensitive areas.

Use face and license-plate detection for UGC moderation, testimonials, vehicle photos, and privacy-safe previews. Region params hide explicit coordinates when you already know what to obscure.

<Frame caption="Group portrait validation with `face-debug=1` (left), then `?pixelateFaces=1` (right).">
  <img src="https://cdn.convertly.sh/cvly/o/convertly-site/docs/cdn-transforms/examples/pixelate-faces-before-after.webp?v=docs-20260717&format=auto&q=auto:eco" alt="Face detection debug overlay and pixelated face privacy result" className="w-full rounded-xl" />
</Frame>

<Frame caption="License plate privacy - `?blurPlates=1&plate-debug=1` while validating. Remove debug before production.">
  <img src="https://cdn.convertly.sh/cvly/o/convertly-site/docs/cdn-transforms/examples/license-plate-privacy.webp?v=docs-20260717&format=auto&q=auto:eco" alt="Vehicle license plate before and after automatic plate blur" className="w-full rounded-xl" />
</Frame>

<Frame caption="Region blur - `?blurRegion=120,320,220,80`.">
  <img src="https://cdn.convertly.sh/cvly/o/convertly-site/docs/cdn-transforms/examples/blur-region.webp?v=docs-20260717&format=auto&q=auto:eco" alt="Image with a blurred rectangular region" className="w-full rounded-xl" />
</Frame>

## Face blur and pixelation

| Param           | Value                                                     | Default |
| --------------- | --------------------------------------------------------- | ------- |
| `blurFaces`     | Blur detected faces. Accepts `1`, `true`, `yes`, or `on`. | `false` |
| `faceBlur`      | Blur strength (`1`-`100`).                                | `32`    |
| `faceBlurShape` | Mask shape: `round` (oval) or `square`.                   | `round` |
| `pixelateFaces` | Pixelate detected faces instead of blurring.              | `false` |
| `facePixelate`  | Pixel block size (`2`-`100`).                             | `16`    |

```
?w=900&blurFaces=1
?w=900&blurFaces=true&faceBlur=48
?w=900&pixelateFaces=1&facePixelate=24
```

Face privacy runs after resize/crop/text overlay and before final encoding, so detected boxes line up with the delivered image. Face detection is best-effort - review sensitive workflows manually.

For **crop** behaviour centred on faces (`gravity=face`), see [Resize, crop & fit](/docs/image-cdn/transforms/resize-crop-fit) and the deeper [Smart cropping](/docs/image-cdn/smart-cropping) guide.

Use `face-debug=1` with `gravity=face` while validating crop behaviour. Debug boxes are rendered into the image response, so do not ship debug URLs in production.

## License plate blur and pixelation

Automatic plate privacy currently applies to image CDN outputs. Video URLs can be transformed by the CDN, but frame-by-frame automatic plate redaction for full videos is a separate pipeline.

| Param            | Value                                                              | Default |
| ---------------- | ------------------------------------------------------------------ | ------- |
| `blurPlates`     | Blur detected license plates. Accepts `1`, `true`, `yes`, or `on`. | `false` |
| `plateBlur`      | Blur strength (`1`-`100`).                                         | `40`    |
| `pixelatePlates` | Pixelate detected license plates instead of blurring.              | `false` |
| `platePixelate`  | Pixel block size (`2`-`100`).                                      | `14`    |
| `plate-debug`    | Draw detected plate boxes for testing.                             | `false` |

```
?w=900&blurPlates=1
?w=900&pixelatePlates=1&platePixelate=18
?w=900&blurPlates=1&plate-debug=1
```

Plate detection is best-effort and depends on angle, distance, plate design, and source resolution. For legal or high-risk privacy workflows, combine automatic detection with `plateRegion` or `regions=plate:...` when you know the exact area.

`plate-debug=1` draws detection boxes into the returned image. It is useful in the Transform Lab and QA environments, but should be removed from production URLs.

## Region privacy

Use output-pixel coordinates when you already know what should be hidden:

| Param            | Value                                                                    |
| ---------------- | ------------------------------------------------------------------------ |
| `blurRegion`     | Blur explicit `x,y,w,h` region.                                          |
| `pixelateRegion` | Pixelate explicit region. Optional `regionPixelate` amount.              |
| `plateRegion`    | Alias for blurring a license-plate region.                               |
| `regions`        | Pipe-separated list: `blur:x,y,w,h:amount`, `pixelate:...`, `plate:...`. |

```
?w=900&blurRegion=120,320,220,80
?w=900&pixelateRegion=120,320,220,80&regionPixelate=18
?w=900&regions=plate:120,320,220,80:44|blur:40,40,160,120:28
```

Coordinate-based plate privacy remains the most deterministic option when your app already knows the plate bounds.
