High error correction qr code

QR Code styletype: "qr"

Level-H QR codes survive up to 30% damage — ideal for small prints or logo overlays — with the payload swapped on every API call. Generate yours free.

Edit it — this is the actual editor panel
Design JSON — “High error correction” variant
{
  "title": "QR code sample",
  "description": "A dynamic QR code",
  "dimensions": {
    "width": 800,
    "height": 420
  },
  "background": {
    "color": "#ffffff"
  },
  "components": [
    {
      "id": "sample-qr",
      "key": "link",
      "type": "qr",
      "position": {
        "x": 290,
        "y": 100
      },
      "rotation": 0,
      "size": {
        "width": 220,
        "height": 220
      },
      "dynamic": true,
      "properties": {
        "value": "https://imejis.io",
        "errorCorrectionLevel": "H",
        "margin": 4,
        "colorDark": "#000000",
        "colorLight": "#ffffff",
        "opacity": 1
      }
    }
  ]
}

QR Code examples

Real renders of the high error correction qr code — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.

Small product label code

A tightly-margined level-H code that stays scannable at label size.

API overrides for this example
{
  "link.errorCorrectionLevel": "H",
  "link.value": "https://imejis.io/p/SKU-2041?utm_source=label",
  "link.margin": 2
}

Outdoor poster QR

A street-poster code built to survive scuffs and weather damage.

API overrides for this example
{
  "link.errorCorrectionLevel": "H",
  "link.value": "https://imejis.io/gigs?utm_source=poster&utm_medium=street"
}

When to use the high error correction style

  • Small printed codes on labels and tickets
  • QR codes with a logo placed over the center
  • Codes destined for rough physical environments

Use it dynamically via the API

Set '<key>.value' (or just '<key>') to encode a different URL or string in every render; module colors are overridable as well.

Full API request with this variant's current values — the playground above sends only the properties you change
curl --location 'https://render.imejis.io/v1/{{YOUR_DESIGN_ID}}' \
--header 'dma-api-key: {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
    "link.value": "https://imejis.io",
    "link.errorCorrectionLevel": "H",
    "link.margin": 4,
    "link.colorDark": "#000000",
    "link.colorLight": "#ffffff",
    "link.opacity": 1
}'

Only send the properties you want to change — everything else keeps its design value. See the API documentation for all languages.

Other qr code styles

DefaultBrandedHigh error correctionDark inverse

See the qr code component page for the full property reference and FAQs.