QR Hub is a modern, feature-rich web application for generating and scanning QR codes with ease. Built with vanilla JavaScript and styled with Tailwind CSS, it provides an intuitive user interface with advanced customization options.
- 🎨 Customizable Design: Choose colors for dots and background
- 📐 Adjustable Size: Set custom width and height
- 🖼️ Logo Support: Add logos to your QR codes
- 🎭 Multiple Styles: Various dot styles (square, rounded, dots, classy, etc.)
- 📄 Format Options: Download as PNG, JPG, WEBP, or SVG
- 📊 Error Correction: Adjust error correction level
- ⚙️ Advanced Options: Margin, type number, and mode customization
- 💾 Easy Download: One-click download of generated QR codes
- 📱 Camera Scanning: Real-time QR code scanning using device camera
- 📸 Image Upload: Upload and scan QR codes from files
- 🎥 Multi-Camera Support: Switch between different cameras if available
- 📋 Copy to Clipboard: Quickly copy scanned text
- 💾 Save Results: Save scanned data
- 🔗 Open Links: Directly open scanned URLs
- ⏰ Scan History: View timestamp of scanned codes
- Clone the repository:
git clone <repository-url>
cd QR\ Generator\ and\ Scanner- Install dependencies:
npm install- Build styles with Tailwind CSS:
npm run build:css- Open
src/index.htmlin your browser or serve it locally:
# Using Python
python -m http.server 8000
# Or using Node.js
npx http-server- Modern web browser with camera access
- Node.js (for building CSS)
- Click the "Generate" tab
- Enter the text or URL you want to encode
- Customize your QR code:
- Adjust dimensions
- Change colors
- Add a logo (optional)
- Choose dot style and format
- Set error correction level
- Click "Download" to save your QR code
- Click the "Scan" tab
- Either:
- Camera: Click "Start Camera" to use your device's camera
- File: Click "Upload" to select a QR code image
- Point your camera at a QR code or upload an image
- Scanned result will appear instantly
- Copy, save, or open the scanned link
- Frontend: Vanilla JavaScript (ES6+)
- Styling: Tailwind CSS v4.1.10
- QR Code Generation: QR Code Styling Library
- QR Code Scanning: HTML5 Camera API & Scanner Library
- Build Tool: Vite with Tailwind CSS plugin
{
"@tailwindcss/cli": "^4.1.10",
"@tailwindcss/vite": "^4.1.10",
"tailwindcss": "^4.1.10"
}Experience QR Hub in action:
- 🔗 Live Demo: qr-hub-demo.vercel.app (Update with your deployment URL)
- Modern UI with gradient background
- Real-time preview of QR codes
- Intuitive control panels for customization
- Advanced options expandable menu
- Live camera feed with QR code detection
- Visual feedback when code is detected
- Quick action buttons for copy, save, and open
- File upload support
QR Generator and Scanner/
├── src/
│ ├── index.html # Main HTML file
│ ├── general.js # General utilities
│ ├── generate.js # QR generation logic
│ ├── scan.js # QR scanning logic
│ ├── input.css # CSS input file
│ ├── output.css # Compiled CSS
│ └── Assets/
│ └── favicon.ico # App favicon
├── assets/
│ └── preview.webp # Preview image
├── package.json # Project dependencies
└── README.md # This file
- 🌈 Beautiful gradient background
- ✨ Smooth animations and transitions
- 📱 Fully responsive design
- ♿ Accessible interface
- 🌙 Modern dark theme with glassmorphism effects
All QR code generation and scanning is done locally in your browser. No data is sent to external servers.
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- QR Code Styling Library for QR generation
- HTML5 QR Scanner for scanning functionality
- Tailwind CSS for beautiful styling
- All contributors and users
For questions, suggestions, or support:
- 🐙 GitHub: @varoonk21
- 📮 Issues: Project Issues
Made with ❤️ by Me
Give a ⭐ if you find this project helpful!
