# Deploy MiniQR with Easypanel

URL: /templates/mini-qr

MiniQR is a lightweight, self-hostable QR code generator built with Vue 3 and Vite. It lets you create fully customised QR codes — changing dot shapes, colours, corner styles, embedded logos, and decorative frames — and export them as PNG or SVG. Presets, batch export, and a clean single-page interface make it practical for both personal and branded use.

## Installation notes

After deployment, open your service URL. No login is required. Enter any URL
or text in the "Data to encode" field to generate a QR code. Use the
customisation panel on the right to adjust colours, dot styles, and frame
settings. Download the result as PNG or SVG.

Note: all VITE_* configuration variables (default presets, branding, etc.)
are baked into the pre-built image at build time and cannot be changed at
runtime. To use custom presets or hide credits, build your own image from
the source repository and pass the desired build arguments.


## Benefits

### No Account or Backend Required

Fully static single-page app — deploy once and generate QR codes instantly with no server-side processing or user accounts.

### Full Visual Customisation

Control every pixel of your QR code — dot shapes, corner styles, colours, embedded logos, and decorative text frames.

### Export as PNG or SVG

Download QR codes in high-resolution PNG or scalable SVG format, ready for print, web, or presentation use.

## Features

### QR Code Generator

Encode URLs, plain text, Wi-Fi credentials, contact cards, or any other data into a scannable QR code in seconds.

### Style Presets

Save and reload named style configurations so you can apply consistent branding across multiple QR codes quickly.

### Batch Export

Generate and download multiple QR codes at once from a CSV data source, each using the same visual style.

### Frame Designer

Add a decorative frame around the QR code with custom text, colours, border radius, and padding for print-ready output.

### Internationalisation

Interface available in multiple languages via Vue i18n with community translations managed through Crowdin.

## Configuration

- `appServiceName` (App Service Name, required): mini-qr

- `appServiceImage` (App Service Image, required): ghcr.io/lyqht/mini-qr:v0.31.0

## Services

- mini-qr: app (ghcr.io/lyqht/mini-qr:v0.31.0)

## Resources

- [Website](https://mini-qr-code-generator.vercel.app)

- [GitHub](https://github.com/lyqht/mini-qr)

- [Documentation](https://github.com/lyqht/mini-qr/blob/main/SELF_HOSTING.md)

- [Template source](https://github.com/easypanel-io/templates/tree/main/templates/mini-qr)