skillfed

segno

QR Code and Micro QR Code generator for Python

segno v1.6.6 3.2M downloads/30d#2,689 on PyPI795
Permissive license Active released

What it is and what it does

Segno is a pure-Python QR code and Micro QR code generator that implements the ISO/IEC 18004:2015(E) standard. It encodes data into QR codes with no external compiled dependencies, relying only on importlib-metadata. The library supports both standard QR codes and the smaller Micro QR variant, automatically choosing the minimal version needed or allowing explicit control via factory functions like make_qr() and make_micro().

The package outputs to many formats—SVG, PNG, PDF, EPS, PAM, PBM, PPM, LaTeX (PGF/TikZ), XBM, and XPM—all without requiring external libraries. It includes high-level functions for encoding contact data (vCard, MeCard), EPC QR codes, and WiFi configurations, plus a command-line interface for quick generation. Structured Append mode allows splitting large messages across multiple QR codes, and Hanzi mode supports Chinese character encoding.

Use it for:

  • Generate QR codes for URLs, contact information, or WiFi credentials in web applications or scripts
  • Create Micro QR codes for space-constrained applications like product labels or small displays
  • Export QR codes to multiple formats (PNG, SVG, PDF) for printing, web embedding, or document inclusion
  • Encode structured data like vCard contact information or EPC payment codes into scannable QR codes
  • Split large messages across multiple QR codes using Structured Append mode for resilience or distribution

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates QR codes and Micro QR codes conforming to ISO/IEC 18004:2015(E), with output to multiple formats including SVG, PNG, PDF, and EPS without external dependencies.

Yes. Segno is a stable, actively maintained library with no vulnerabilities, low install friction, and a permissive license. It is well-suited for any Python project needing QR code generation without external compiled dependencies. The broad format support and standards compliance make it a practical choice for production use.

Install

segno on PyPI

pip

pip install segno

uv

uv add segno

poetry

poetry add segno

Installing segno

Before you install

Low friction: pure Python with only importlib-metadata as a runtime dependency. Active maintenance with a recent commit on 2026-07-23 and no reported vulnerabilities.

License in practice

Permissive license (BSD) allows commercial and private use with minimal restrictions.

Quickstart

pip install segno

import segno
qrcode = segno.make('Yellow Submarine')
qrcode.save('yellow-submarine.png')

Verify before relying

  • Whether the package's claimed 98% test coverage and ISO/IEC 18004:2015(E) conformance have been independently validated
  • Performance comparison claims against other pure-Python QR encoders and whether they remain current

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.5)
Install friction low — pure-Python wheel
Runtime dependencies 1 — importlib-metadata
Maintenance actively maintained — 520 days since the last release
Last repo commit
First released
Downloads 3,234,809/month — #2,689 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: segno-1.6.6-py3-none-any.whl

Keywords: QR Code, Micro QR Code, ISO/IEC 18004, ISO/IEC 18004:2006(E), ISO/IEC 18004:2015(E), qrcode, QR, barcode, matrix, 2D

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyTopic :: Multimedia :: GraphicsTopic :: PrintingTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

qr code generator pythonmicro qr code encoderiso 18004 qr codeqr code to svg png pdfpure python qr codebarcode matrix 2dstructured append qr codes
qr-codebarcodeiso-18004

More Python Modules packages