Skip to content

Latest commit

ย 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฑ UPI Bank QR Code Generator

Generate, download, copy, and print UPI QR codes for your bank account โ€” right from your browser. 100% offline, dependency-free, and privacy-first.

License: MIT GitHub stars Made for UPI


โœจ Features

  • UPI QR generation โ€” Generate scannable upi://pay QR codes for any bank account (account number + IFSC, VPA, or mobile + bank code).
  • Instant live preview โ€” The QR code updates as you type.
  • Multiple formats โ€” Export as PNG, SVG, or copy the raw QR text to the clipboard.
  • Flexible amount & note โ€” Add a fixed or optional amount and a payment note/reference to the QR payload.
  • Size presets โ€” Choose QR sizes for screens, labels, or print.
  • Print-friendly โ€” Print a clean, receipt-style QR code.
  • Dark & light themes โ€” Auto-follows your system or manual toggle.
  • Responsive & accessible โ€” Works on desktop, tablet, and mobile.
  • PWA-ready โ€” Installable and offline-capable (service worker).
  • Privacy-first โ€” All processing happens locally in your browser. Your bank details are never sent to any server.
  • Zero dependencies โ€” No frameworks, no trackers, no build step.

๐Ÿš€ Live demo

๐ŸŒ https://upiqr.example.com

The live site is deployed to Cloudflare Pages from the main branch. Replace the placeholder with your production URL after deployment.

๐Ÿงฐ Tech stack

Area Choice
Language Vanilla JavaScript (ES modules)
Markup Semantic HTML5
Styling Modern CSS with custom properties
QR engine Self-contained QR generation (no external CDN)
Backend None โ€” fully client-side
Hosting Cloudflare Pages (static)
CI/CD GitHub Actions (lint + deploy)

๐Ÿ“‚ Project structure

โ”œโ”€โ”€ index.html              # single-page application markup
โ”œโ”€โ”€ css/                    # stylesheets
โ”‚   โ”œโ”€โ”€ reset.css           # reset & base styles
โ”‚   โ”œโ”€โ”€ variables.css       # design tokens (colors, spacing, radii)
โ”‚   โ”œโ”€โ”€ layout.css          # app shell & grid
โ”‚   โ”œโ”€โ”€ forms.css           # inputs, buttons, selects
โ”‚   โ”œโ”€โ”€ utilities.css       # helpers & print styles
โ”‚   โ”œโ”€โ”€ main.css            # app-specific styles
โ”‚   โ””โ”€โ”€ qr.css              # QR preview & card styles
โ”œโ”€โ”€ js/                     # ES modules
โ”‚   โ”œโ”€โ”€ app.js              # application bootstrap & state
โ”‚   โ”œโ”€โ”€ config.js           # constants & presets
โ”‚   โ”œโ”€โ”€ validator.js        # account/IFSC/VPA/amount validation
โ”‚   โ”œโ”€โ”€ generator.js        # UPI payload builder
โ”‚   โ”œโ”€โ”€ qr.js               # QR matrix generation
โ”‚   โ”œโ”€โ”€ download.js         # PNG/SVG download helpers
โ”‚   โ”œโ”€โ”€ clipboard.js        # copy-to-clipboard helper
โ”‚   โ”œโ”€โ”€ storage.js          # localStorage persistence
โ”‚   โ”œโ”€โ”€ theme.js            # dark/light theming
โ”‚   โ””โ”€โ”€ utils.js            # small shared utilities
โ”œโ”€โ”€ icons/                  # favicon & PWA icons
โ”œโ”€โ”€ assets/                 # shared static assets
โ”œโ”€โ”€ screenshots/            # README screenshots
โ”œโ”€โ”€ docs/                   # project documentation
โ”œโ”€โ”€ 404.html                # custom 404 page
โ”œโ”€โ”€ robots.txt              # crawler rules
โ”œโ”€โ”€ sitemap.xml             # sitemap
โ”œโ”€โ”€ manifest.webmanifest    # PWA manifest
โ”œโ”€โ”€ sw.js                   # service worker (offline caching)
โ””โ”€โ”€ .github/                # templates, workflows, governance files

๐Ÿ“ฆ Getting started

Prerequisites

  • A modern browser (Chrome, Edge, Firefox, Safari).
  • No installation required. Optionally, Node.js 20+ only if you want the dev validation scripts.

Run locally

The app has no build step โ€” serve the folder over HTTP:

# Option A โ€” Python
python3 -m http.server 8080

# Option B โ€” npx
npx serve .

# Option C โ€” VS Code Live Server

Then open http://localhost:8080.

Validate (optional)

npm install
npm run lint

๐Ÿ–ผ๏ธ Screenshots

Placeholder โ€” replace with your own screenshots.

Light theme Dark theme
Light theme Dark theme

๐Ÿงฎ How the UPI payload works

The app builds a standard UPI deep-link URI:

upi://pay?pa=<VPA>&pn=<NAME>&am=<AMOUNT>&cu=INR&tn=<NOTE>&tr=<REFERENCE>
  • pa โ€” Payment address (VPA) or the account mapped address.
  • pn โ€” Payee name.
  • am โ€” Amount (optional).
  • cu โ€” Currency (INR).
  • tn โ€” Transaction note (optional).
  • tr โ€” Transaction reference (optional).

Most UPI apps (GPay, PhonePe, Paytm, BHIM, SBI YONO, etc.) can scan the resulting QR and open a pre-filled payment screen.

๐Ÿงฉ How to contribute

We welcome contributions of all kinds. See the Contributing Guide and the Roadmap to get started.

  1. ๐Ÿด Fork the repository.
  2. ๐ŸŒฟ Create a feature branch.
  3. โœ๏ธ Make your changes.
  4. โœ… Run npm run lint.
  5. ๐Ÿ”€ Open a pull request.

๐Ÿ—บ๏ธ Roadmap

See ROADMAP.md for planned features and milestones.

๐Ÿ“œ Changelog

See CHANGELOG.md for the full version history.

๐Ÿ”’ Security

If you find a security vulnerability, do not open a public issue. Please follow the disclosure instructions in SECURITY.md.

๐Ÿ“„ License

This project is licensed under the MIT License.


Built with โค๏ธ for the UPI ecosystem ย ยทย  Learn more about UPI

About

Generate UPI QR Codes directly from Bank Account Number & IFSC Code with a modern, responsive, production-ready web application.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages