---
title: "Render a QR code to an image buffer"
method: POST
path: "/qr-code/render"
tags: ["QR Codes"]
---

# Render a QR code to an image buffer

`POST /qr-code/render`

## Request

- Base URL: `https://api.qrcodly.de/api/v1`
- URL: `https://api.qrcodly.de/api/v1/qr-code/render`
- Auth: HTTP bearer

Returns a fully rendered QR code in PNG, WebP, JPEG or SVG. Supports ETag-based caching. Intended for third-party clients (design plugins) that cannot render complex QR-styling output themselves.

## Request body

- object
  - `config` object, required
    - `width` number, required: QR code width in pixels
    - `height` number, required: QR code height in pixels
    - `margin` number, required: Quiet zone margin around the QR code in pixels
    - `image` string: Base64-encoded logo image to embed in the center of the QR code. Max size 1 MB.
    - `imageOptions` object, required: Options for the embedded logo image
      - `hideBackgroundDots` boolean, required: Whether to hide QR code dots behind the embedded logo image
    - `dotsOptions` object, required: Styling for the QR code data dots
      - `type` 'dots' | 'rounded' | 'classy' | 'classy-rounded' | 'square' | 'extra-rounded', required: Shape style of the QR code data dots: dots, rounded, classy, classy-rounded, square, or extra-rounded
      - `style` union, required: Color or gradient for the data dots
        - object
          - `type` 'hex', required
          - `value` string, required
        - object
          - `type` 'rgba', required
          - `value` string, required
        - object
          - `type` 'gradient', required
          - `gradientType` 'radial' | 'linear', required
          - `rotation` number, nullable, required
          - `colorStops` object[], required
            - `offset` number, required
            - `color` string, required
    - `cornersSquareOptions` object, required: Styling for the three corner squares (finder patterns)
      - `type` 'dot' | 'square' | 'extra-rounded', required: Shape style of the corner squares: dot, square, or extra-rounded
      - `style` union, required: Color or gradient for the corner squares
        - object
          - `type` 'hex', required
          - `value` string, required
        - object
          - `type` 'rgba', required
          - `value` string, required
        - object
          - `type` 'gradient', required
          - `gradientType` 'radial' | 'linear', required
          - `rotation` number, nullable, required
          - `colorStops` object[], required
            - `offset` number, required
            - `color` string, required
    - `cornersDotOptions` object, required: Styling for the dots inside the corner squares
      - `type` 'dot' | 'square', required: Shape style of the corner dots: dot or square
      - `style` union, required: Color or gradient for the corner dots
        - object
          - `type` 'hex', required
          - `value` string, required
        - object
          - `type` 'rgba', required
          - `value` string, required
        - object
          - `type` 'gradient', required
          - `gradientType` 'radial' | 'linear', required
          - `rotation` number, nullable, required
          - `colorStops` object[], required
            - `offset` number, required
            - `color` string, required
    - `backgroundOptions` object, required: QR code background styling
      - `style` union, required: Background color or gradient
        - object
          - `type` 'hex', required
          - `value` string, required
        - object
          - `type` 'rgba', required
          - `value` string, required
        - object
          - `type` 'gradient', required
          - `gradientType` 'radial' | 'linear', required
          - `rotation` number, nullable, required
          - `colorStops` object[], required
            - `offset` number, required
            - `color` string, required
  - `data` string, required
  - `format` 'png' | 'webp' | 'jpeg' | 'svg'
  - `sizePx` integer
  - `printSizeMm` number

## Response `200`

Default Response

---

[API](https://skmtc.dev/qrcodly/apis/qrcodly-api.md) · [All operations](https://skmtc.dev/qrcodly/apis/qrcodly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qrcodly/apis/qrcodly-api/revisions/b7e95eb68866?raw)
