Generate beautiful QR codes
with one API call

Fast, reliable QR code generation API with custom colors, logo embedding, and multiple formats. Perfect for automation, marketing, and integration.

curl -X POST https://qr.endpnt.dev/api/v1/generate \
  -H "x-api-key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "data": "https://example.com",
    "format": "png",
    "size": 300,
    "color": "#000000",
    "background": "#ffffff",
    "margin": 2,
    "error_correction": "M"
  }'

Powerful features for every use case

Built with modern standards and optimized for speed, reliability, and ease of use.

Custom colors

Choose any hex colors for QR code and background to match your brand

Logo embedding

Add your logo to QR codes with automatic error correction optimization

Multiple formats

PNG, JPEG, WebP, and SVG output formats for any use case

Configurable error correction

Choose from L, M, Q, or H error correction levels for reliability

Instant generation

Sub-second response times with optimized QR code generation

Simple API

Clean REST API that works with any programming language

QR Code API v2

NEW

Advanced QR code styling with premium customization features. Create stunning QR codes with custom shapes, gradients, borders, and photo overlays.

Premium Dot Styles

Rounded, extra-rounded, classy and classy-rounded dot patterns for distinctive QR codes

Eye Pattern Customization

Independent control of outer and inner eye shapes with custom coloring

Advanced Gradients

Linear and radial gradients with full control over colors and rotation

Custom Borders

Styled borders with labels, image frames, or hand-drawn SVG shapes

Photo Overlays

Place QR codes on photos with precise positioning and opacity control

Tier-Based Access

Free tier includes styling and gradients, premium features require Starter+

Basic QR Generator

Simple QR code generator with essential features

Easy integration

Works with any programming language that can make HTTP requests

v2 API - Advanced Features

Premium
curl -X POST https://qr.endpnt.dev/api/v2/generate \
  -H "x-api-key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "data": "https://example.com",
    "size": 400,
    "format": "png",
    "dot_style": "classy-rounded",
    "gradient": {
      "type": "radial",
      "colors": [
        {"offset": 0, "color": "#667eea"},
        {"offset": 1, "color": "#764ba2"}
      ]
    },
    "border": {
      "mode": "styled",
      "width": 20,
      "color": "#2C3E50",
      "label": {
        "text": "SCAN FOR MORE",
        "position": "bottom"
      }
    }
  }'

JavaScript

const response = await fetch('https://qr.endpnt.dev/api/v1/generate', {
  method: 'POST',
  headers: {
    'x-api-key': 'your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    data: 'https://example.com',
    format: 'png',
    size: 300,
    color: '#000000',
    background: '#ffffff',
    logo_url: 'https://example.com/logo.png'
  })
});

const result = await response.json();
if (result.success) {
  const imageData = result.data.image; // base64 encoded
}

Python

import requests
import base64

url = "https://qr.endpnt.dev/api/v1/generate"
headers = {
    "x-api-key": "your_api_key",
    "Content-Type": "application/json"
}
data = {
    "data": "https://example.com",
    "format": "png",
    "size": 300,
    "color": "#000000",
    "background": "#ffffff",
    "error_correction": "M"
}

response = requests.post(url, headers=headers, json=data)
result = response.json()

if result["success"]:
    image_data = base64.b64decode(result["data"]["image"])
    with open("qrcode.png", "wb") as f:
        f.write(image_data)

Ready to get started?

Join thousands of developers using our QR Code API for automation, marketing, and seamless integration.

Get your free API key