Skip to content

QR codes

The QR code endpoint generates QR code images from any text string. QR codes are commonly used for two-factor authentication, sharing links, encoding data, and enabling quick access to information.

Generate QR code

Generate a QR code image from a text string. The QR code can be scanned by any standard QR code reader.

import { Client, Avatars } from "appwrite";

const client = new Client()
    .setEndpoint('https://<REGION>.cloud.appwrite.io/v1')
    .setProject('<PROJECT_ID>');

const avatars = new Avatars(client);

const result = avatars.getQR({
    text: 'https://example.com',
    size: 300,
    margin: 1,
    download: false
});

console.log(result); // Resource URL

Parameters

The getQR method accepts the following parameters:

ParameterTypeDescription
text
string
The text string to encode in the QR code. Can be a URL, authentication URI, or any text data.
size
integer
The size of the QR code in pixels. Accepts values between 0-1000. Defaults to 200 if not provided.
margin
integer
The margin around the QR code in pixels. Accepts values between 0-10. Defaults to 1 if not provided.
download
boolean
Whether to download the image or return a URL. Defaults to false.

Two-factor authentication

QR codes are commonly used for two-factor authentication (2FA). When setting up TOTP authentication, you can generate a QR code from the authenticator URI.

// After creating an MFA authenticator
const authenticator = await account.createMfaAuthenticator('totp');
const qrCode = avatars.getQR({
    text: authenticator.uri,
    size: 400,
    margin: 2
});

Customization

Adjust the size and margin of QR codes to match your design requirements. Larger sizes improve scanability, while appropriate margins ensure the QR code is properly recognized by scanners.

// Small QR code with minimal margin
const smallQR = avatars.getQR({
    text: 'https://example.com',
    size: 150,
    margin: 0
});

// Large QR code for printing
const largeQR = avatars.getQR({
    text: 'https://example.com',
    size: 800,
    margin: 3
});

// Standard size for web display
const standardQR = avatars.getQR({
    text: 'https://example.com',
    size: 300,
    margin: 1
});

Use cases

QR codes are commonly used for:

  • Two-factor authentication: Generate QR codes for TOTP authenticator setup
  • Team invitations: Create QR codes for team invite links to enable quick member onboarding
  • Link sharing: Create QR codes for URLs to enable quick access
  • Event tickets: Generate QR codes for event registration and check-in
  • Wi-Fi credentials: Encode Wi-Fi network information for easy connection
  • Contact information: Share vCard data encoded in QR codes