A modern, responsive QR code generator built with Next.js 15, React 19, and TypeScript. Create professional QR codes instantly with support for multiple formats and sizes, featuring a beautiful dark/light theme system.
- 🎨 Modern UI - Built with shadcn/ui components and Tailwind CSS v4
- 🌙 Dark/Light Theme - Automatic system detection with manual toggle
- 📱 Responsive Design - Works perfectly on desktop and mobile
- 🔗 URL Validation - Real-time validation with smooth animations
- 📥 Multiple Formats - Download as PNG (with transparency) or SVG
- 📐 Various Sizes - Small (300px), Medium (600px), Large (1200px), Huge (3000px)
- ⚡ Fast Development - Powered by Turbopack for lightning-fast builds
- 🎭 Animated Components - Smooth transitions and engaging animations
- Framework: Next.js 15 with App Router
- UI Library: React 19 + TypeScript
- Styling: Tailwind CSS v4 with PostCSS
- Components: shadcn/ui
- QR Generation: qrcode library
- Theme System: next-themes
- Fonts: Geist Sans & Geist Mono
- Build Tool: Turbopack
- Node.js 18+
- npm, yarn, pnpm, or bun
- Clone the repository:
git clone <your-repo-url>
cd qr-app- Install dependencies:
npm install- Start the development server:
npm run dev- Open http://localhost:3000 in your browser.
# Start development server (with Turbopack)
npm run dev
# Build for production
npm run build
# Start production server
npm run start
# Run ESLint
npm run lint- Enter URL: Type any valid URL in the input field
- Generate: The "Generate QR Code" button appears with animation when a valid URL is entered
- Preview: View the generated QR code in the preview section
- Choose Format: Select between PNG (with transparency) or SVG format
- Download: Choose your preferred size and download instantly
app/
├── components/
│ └── QRCodeGenerator.tsx # Main QR generator component
├── layout.tsx # Root layout with theme provider
├── page.tsx # Home page
└── globals.css # Global styles and theme variables
components/
├── ui/ # shadcn/ui components
├── theme-provider.tsx # Theme context provider
└── theme-toggle.tsx # Theme toggle button
lib/
└── utils.ts # Utility functions
The application supports both light and dark themes with:
- Automatic system preference detection
- Manual toggle via the sun/moon icon (top-right corner)
- Smooth transitions between themes
- Persistent theme selection
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.