Home Plugins effortless qr code generator
EffortLess QR Code Generator logo

EffortLess QR Code Generator

by domclic on WordPress.org

Generate QR codes easily with a simple shortcode. Supports client-side (JavaScript) and server-side (PHP/PNG) rendering with a developer API.

(0)

Effortless QR Code Generator is a WordPress plugin that allows you to create QR codes using a simple shortcode. It supports both client-side JavaScript rendering and server-side PHP rendering.

Features

  • Simple shortcode: Use [effortless_qrcode url="https://example.com"] to generate QR codes
  • Dual rendering modes: Client-side (JavaScript) or server-side (PHP/PNG)
  • Developer API: Generate QR codes programmatically from your plugins/themes
  • Customizable size: Control QR code dimensions (100-500 pixels)
  • Custom colors: Set dark and light colors for the QR code
  • Error correction levels: Choose L, M, Q, or H
  • Cached PNG images: Server-rendered QR codes are cached in the uploads folder
  • Responsive design: QR codes adapt to different screen sizes
  • No external dependencies: All code is bundled locally
  • Privacy-friendly: No data sent to external services
  • Accessibility ready: Proper alt text support
  • Performance optimized: Scripts load only when needed

Shortcode Parameters

  • url – The URL to encode (required)
  • size – Size in pixels (default: 150, min: 100, max: 500)
  • color_dark – Dark color in hex format (default: #000000)
  • color_light – Light color in hex format (default: #ffffff)
  • render – Rendering mode: “client” or “server” (default: client)
  • ecc – Error correction level: L, M, Q, H (default: M)
  • alt – Alt text for accessibility (server rendering only)
  • class – Additional CSS class (server rendering only)
  • data – Arbitrary data to encode (plain text, WiFi, vCard, etc.). When set, overrides url and disables link
  • link – Wrap QR code in a clickable link: “yes” or “no” (default: no). Only works with URL content, ignored when data is used
  • title – Tooltip text shown on hover
  • target – Link target attribute: “_blank”, “_self”, etc. (default: _blank)

Usage Examples

Basic usage (client-side):
[effortless_qrcode url=”https://example.com”]

Server-side rendering:
[effortless_qrcode url=”https://example.com” render=”server”]

With custom size and colors:
[effortless_qrcode url=”https://example.com” size=”200″ color_dark=”#0073aa”]

Server-side with high error correction:
[effortless_qrcode url=”https://example.com” render=”server” ecc=”H” alt=”Scan me”]

PHP API for Developers

Third-party plugins and themes can generate QR codes programmatically using the Effortless_QRCode_Native class.

Basic Usage:

';
    }
}
?>

With Custom Options:


Display in a Template:


        
<?php esc_attr_e( 'Scan to visit this page', 'my-theme' ); ?>

API Reference

Effortless_QRCode_Native::generate_png( $data, $size, $color_dark, $color_light, $ecc, $margin )

Generates a QR code PNG image and saves it to the WordPress uploads folder.

Parameters:

  • $data (string) – Required. The data to encode (URL, text, etc.)
  • $size (int) – Optional. Image size in pixels. Default: 150
  • $color_dark (string) – Optional. Hex color for dark modules. Default: ‘#000000’
  • $color_light (string) – Optional. Hex color for light modules. Default: ‘#ffffff’
  • $ecc (string) – Optional. Error correction level (L, M, Q, H). Default: ‘M’
  • $margin (int) – Optional. Quiet zone margin in modules. Default: 4

Returns:

Array on success with keys:
* url – Public URL to the generated PNG image
* path – Server filesystem path to the PNG file
* debug – Debug information string

Returns false on failure.

Notes:

  • Images are cached based on all parameters (same input = same file)
  • Files are stored in wp-content/uploads/effortless-qrcodes/
  • Requires GD library for PNG generation

Error Correction Levels

  • L – 7% recovery capacity (smallest QR code)
  • M – 15% recovery capacity (default, good balance)
  • Q – 25% recovery capacity
  • H – 30% recovery capacity (largest QR code, best for print)

Higher error correction allows the QR code to be read even if partially damaged or obscured.

Privacy

This plugin does not collect, store, or transmit any personal data. QR codes are generated locally (either in the browser or on your server).

Requirements

  • PHP 7.4+ with GD library (for server-side PNG generation)
  • WordPress 5.0+
  • JavaScript enabled (for client-side rendering only)
Active installations0+
Weekly downloads
79+46.30%
Version1.4.3
Last updated2/15/2026
WordPress version5.0
Tested up to6.9.1
PHP version7.4
Tags
apigeneratorqr coderesponsiveshortcode