{% extends "base.html" %} {% block title %}{% trans %}Free QR Code Generator — Create QR Codes Instantly{% endtrans %}{% endblock %} {% block description %}{% trans %}Generate QR codes for URLs, PDFs, contacts, text, SMS, email, phone, and apps. Live preview, custom colors, logo upload, and scan analytics.{% endtrans %}{% endblock %} {% block extra_head %} {% endblock %} {% block content %}

{% trans %}Free QR Code Generator{% endtrans %}

{% trans %}Create custom QR codes for URLs, contacts, SMS, email, apps and more — instantly, no sign-up needed.{% endtrans %}

{% trans %}QR Code Type{% endtrans %}

{% set qr_types = [ ('url', 'fa-link', 'URL'), ('pdf', 'fa-file-pdf', 'PDF'), ('multi_url', 'fa-layer-group', 'Multi-URL'), ('vcard', 'fa-address-card', 'Contact'), ('text', 'fa-font', 'Text'), ('app', 'fa-mobile-screen', 'App'), ('sms', 'fa-comment-sms', 'SMS'), ('email', 'fa-envelope', 'Email'), ('phone', 'fa-phone', 'Phone'), ] %} {% for t, icon, label in qr_types %} {% if qr_settings.get('qr_type_' + t, '1') != '0' %} {% endif %} {% endfor %}

{% trans %}Direct link to a PDF file or document page{% endtrans %}

{% trans %}The QR will redirect to the first URL by default{% endtrans %}

{% trans %}Scanning this QR will open the phone dialer{% endtrans %}

{% trans %}Design options{% endtrans %}

{% trans %}Color{% endtrans %}

{% trans %}Background{% endtrans %}

{% trans %}Pixels{% endtrans %}

{% trans %}Squares{% endtrans %}

{% if qr_settings.get('qr_allow_logo','1') == '1' %}

{% trans %}Logo{% endtrans %}

22%
0px
{% endif %}

{% trans %}Frame{% endtrans %}

{% if user_id and plan and not plan.get('qr_advanced_customization', 1)|int %}

{% trans %}Advanced Customization{% endtrans %}

{% trans %}Upgrade your plan to unlock dot styles, custom colors, and logo embedding{% endtrans %}

{% endif %}

{% trans %}Pattern and Style{% endtrans %}

{% trans %}Options{% endtrans %}

{% if user_id %}
{% endif %} {% if user_id and plan and plan.get('qr_analytics_days', 30)|int > 0 %}

{% trans %}Track Scans{% endtrans %}

{% trans %}Log every scan with analytics{% endtrans %}

{% else %}

{% trans %}Track your scans{% endtrans %}

{% if user_id %} {% trans %}Upgrade your plan to enable scan analytics{% endtrans %} {% else %} {% trans %}Sign in and upgrade to track scans{% endtrans %} {% endif %}

{% endif %} {% set dyn_limit = plan.get('qr_dynamic_limit', 2)|int if plan else 2 %} {% if user_id and dyn_limit >= 0 %}

{% trans %}Dynamic QR{% endtrans %}

{% if dyn_limit > 0 %}

{% trans %}Editable destination •{% endtrans %} {{ dyn_limit }} {% trans %}allowed{% endtrans %}

{% else %}

{% trans %}Change destination after printing{% endtrans %}

{% endif %}
{% else %}

{% trans %}Dynamic QR Codes{% endtrans %}

{% if user_id %} {% trans %}Upgrade your plan to create dynamic QR codes{% endtrans %} {% else %} {% trans %}Sign in to create dynamic QR codes{% endtrans %} {% endif %}

{% endif %} {% set wm_text = qr_settings.get('qr_watermark_text', '') %} {% if wm_text %} {% if user_id and plan and plan.get('qr_watermark_free', 0)|int %}

{% trans %}Watermark-free{% endtrans %}

{% trans %}Toggle off to add watermark branding{% endtrans %}

{% elif user_id %}

{% trans %}Remove Watermark{% endtrans %}

{% trans %}Upgrade your plan to generate QR codes without a watermark{% endtrans %}

{% endif %} {% endif %}

{% trans %}Preview{% endtrans %}

{% trans %}Fill in the form to see a live preview{% endtrans %}

{% if user_id %} {% endif %}
{% set features = [ ('fa-bolt', 'Instant Preview', 'See your QR update as you type'), ('fa-palette', 'Custom Colors', 'Pick any foreground and background color'), ('fa-chart-bar', 'Scan Analytics', 'Track how many times your QR was scanned'), ('fa-rotate', 'Dynamic QR', 'Update the destination URL without reprinting'), ] %} {% for icon, title, desc in features %}

{{ title }}

{{ desc }}

{% endfor %}
{% endblock %} {% block page_scripts %} {% endblock %}