How to Add a Logo to QR Codes

Create branded QR codes with your company logo. Learn best practices for logo size, positioning, and maintaining scannability.

📅 Updated December 2025 ⏱️ 5 min read

Adding a logo to your QR codes makes them more recognizable and trustworthy. People are more likely to scan a branded QR code because it looks professional and legitimate.

Why QR Codes With Logos Work

QR codes have built-in error correction, which means they can still be scanned even if part of the code is obscured. This is what makes logo overlays possible—we use that error correction capacity to place your logo in the center.

Generate a QR Code With Logo

Use the logoUrl parameter to add a logo to your QR code:

JavaScript - QR Code with Logo
const response = await fetch('https://www.qrcodeapi.io/api/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    data: 'https://yourwebsite.com',
    size: 400,
    format: 'png',
    logoUrl: 'https://yourwebsite.com/logo.png',
    logoSize: 0.25,  // Logo takes up 25% of QR code width
    errorCorrection: 'H'  // High error correction for logo support
  })
});

const qrCodeBlob = await response.blob();

Logo Options

đź’ˇ Pro Tip: Use High Error Correction

Always use errorCorrection: 'H' when adding logos. This gives the maximum 30% error correction, ensuring your QR code remains scannable even with a logo covering the center.

Logo Best Practices

Recommended Logo Specifications

What to Avoid

Testing Your Branded QR Code

Always test your QR codes before printing:

  1. Scan with multiple devices (iPhone, Android)
  2. Test different scanning apps (Camera app, QR scanner apps)
  3. Print a test at the intended size
  4. Test in different lighting conditions
Complete Example with Custom Colors
const brandedQR = await fetch('https://www.qrcodeapi.io/api/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    data: 'https://yourwebsite.com/menu',
    size: 500,
    format: 'png',
    color: '#1a365d',           // Brand navy blue
    background: '#ffffff',
    logoUrl: 'https://yourwebsite.com/logo.png',
    logoSize: 0.22,
    logoPadding: 6,
    logoBackgroundColor: '#ffffff',
    errorCorrection: 'H',
    margin: 2
  })
});

Ready to Create Branded QR Codes?

Add your logo to QR codes and build brand recognition.

Get Your Free API Key