Spaces:
Sleeping
Sleeping
π± QR Code Generator
Free & Open Source β’ No Ads β’ Privacy-Friendly
A beautiful, easy-to-use QR code generator built with Streamlit. Create custom QR codes with various styles, colors, and logos - all in your browser, completely free!
β¨ Features
π Quick Start Templates
- URL - Website links and landing pages
- WiFi - Share WiFi credentials instantly
- Email - mailto links with pre-filled subject/body
- Phone - Click-to-call phone numbers
- Text - Any plain text message
π¨ Customization Options
- Colors - Custom foreground and background colors
- Shapes - Square, Rounded, Circle, Gapped Square modules
- Resolution - Adjustable size (5-30 pixels per module)
- Error Correction - 4 levels (Low, Medium, High, Very High)
- Logo Integration - Add your logo to the center of QR codes
π‘οΈ Privacy First
- β No data collection
- β No tracking or analytics
- β Everything runs in your browser
- β No registration required
- β Open source code
π Live Demo
Try it now: streamlit-qrcode.streamlit.app (update with your actual URL)
π» Run Locally
Prerequisites
- Python 3.7 or higher
- pip package manager
Installation
# Clone the repository
git clone https://github.com/kaiser-data/streamlit-qrcode.git
cd streamlit-qrcode
# Install dependencies
pip install -r requirements.txt
# Run the app
streamlit run qr_generator.py
The app will open in your browser at http://localhost:8501
π― Use Cases
| Use Case | Example | Description |
|---|---|---|
| Marketing | Product pages, promotions | Link to campaigns and track engagement |
| Events | Tickets, schedules | Easy access to event information |
| WiFi Sharing | Guest network access | Share WiFi without typing passwords |
| Business Cards | vCard, LinkedIn | Digital contact information |
| Restaurants | Menus, ordering | Contactless menu access |
| Education | Resources, assignments | Quick access to learning materials |
π How to Use
Basic Usage
- Choose a template or enter content directly
- (Optional) Customize colors, shapes, and size
- Download your QR code as PNG
WiFi QR Codes
- Click the WiFi template
- Enter your network name and password
- Select security type (WPA/WEP/None)
- Download and share!
Adding Logos
- Expand "Customize Appearance"
- Go to Logo tab
- Upload your logo (PNG recommended)
- Adjust logo size (keep under 30% for best scanning)
- Use High or Very High error correction
π οΈ Technical Details
Built With
- Streamlit - Web framework
- python-qrcode - QR code generation
- Pillow - Image processing
Features
- Error Correction Levels: L (7%), M (15%), Q (25%), H (30%)
- Module Shapes: Square, Rounded, Circle, Gapped Square
- Output Format: PNG with adjustable resolution
- Logo Support: Centered logo with automatic sizing
Supported QR Code Types
- URLs and websites
- WiFi credentials (WPA/WEP/Open)
- Email addresses (mailto links)
- Phone numbers (tel links)
- SMS messages
- Plain text
- Any custom formatted string
π¦ Deployment
Streamlit Cloud (Free)
Fork this repository or push to your GitHub account
Deploy to Streamlit Cloud:
- Go to share.streamlit.io
- Click "New app"
- Select your repository:
kaiser-data/streamlit-qrcode - Main file:
qr_generator.py - Click "Deploy"
Your app will be live at a free Streamlit URL in ~2 minutes!
Other Platforms
- Heroku: Add
setup.shandProcfile - Docker: Build from included
Dockerfile - VPS: Run with
streamlit run qr_generator.py --server.port 80
π‘ Best Practices
For Optimal Scanning
- β Keep content short (use URL shorteners for long links)
- β Use high contrast (dark on light background)
- β Minimum print size: 2Γ2 cm (0.8Γ0.8 inches)
- β Test QR codes before mass printing
- β Use higher error correction when adding logos
For Logo Integration
- β Use transparent PNG images
- β Keep logo size under 30% of QR code
- β Use "High" or "Very High" error correction
- β Test scannability after adding logo
- β Ensure logo doesn't obscure critical areas
π€ Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Ideas for Contributions
- Additional QR code styles
- Batch QR code generation
- SVG export option
- QR code analytics
- More customization options
- Internationalization (i18n)
π License
This project is licensed under the MIT License - see the LICENSE file for details.
What this means:
- β Free to use for personal and commercial projects
- β Modify and distribute as you like
- β No warranty or liability
- β Must include original license and copyright
π Acknowledgments
- QR Code Technology: Invented by Denso Wave (1994)
- Streamlit Team: For the amazing framework
- python-qrcode: For the robust QR generation library
- Community: For feedback and contributions
π Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Star this repo if you find it useful! β
π Privacy & Security
This app is designed with privacy in mind:
- No data storage: QR codes are generated in your browser and not stored
- No tracking: No analytics or tracking cookies
- No server-side processing: All processing happens client-side
- Open source: Full code transparency - see exactly what it does
- No third-party services: No external API calls or data sharing
π Project Stats
Made with Python & Streamlit
Report Bug β’ Request Feature β’ View Demo
