A web application built with Next.js and FastAPI that allows you to generate verifiable certificates with QR codes. This tool helps organizations create, manage, and verify digital certificates efficiently.
- Generate certificates from templates
- Automatic QR code generation for verification
- Bulk certificate generation from Excel data
- GitHub Pages integration for certificate hosting
- Web-based interface for easy management
- Verification system through QR codes
Before you begin, ensure you have the following installed:
- Node.js
- Python
- pip
You'll also need:
- A certificate template (PNG/JPG)
- An Excel sheet with recipient details
- A GitHub account for hosting certificates
- Clone the repository:
git clone https://github.com/cbitosc/qr-certificate-generator.git
cd qr-certificate-generator
- Install dependencies:
npm install
pip install -r requirements.txt
- Start the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
This command will automatically start both the Next.js frontend and FastAPI backend.
- Open your browser and navigate to
http://localhost:3000
-
Prepare Your Template
- Create a certificate template with space for text and a QR code, then export it as a PNG or JPG.
- Convert the template to SVG format using tools like Pixelied PNG to SVG Converter
-
Setup GitHub Repository
- Create a new public repository on GitHub
- Enable GitHub Pages in repository settings
- Configure Pages to use the main branch and
/docs
folder
-
Generate Certificates
- Enter your GitHub details to generate the base URL
- Upload your certificate template
- Import recipient data from Excel
- Generate certificates with QR codes
- Download the generated
docs
folder
-
Deploy Certificates
- Upload the generated
docs
folder to your GitHub repository - Certificates will be accessible via GitHub Pages
- QR codes will link to verification pages
- Upload the generated
- Scan the QR code on any certificate
- The QR code links to a unique verification page
- The verification page displays certificate authenticity and details
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the GNU General Public License v3.0 (GPLv3) - see the LICENSE file for details.
This means you are free to:
- Use this software for any purpose
- Change the software to suit your needs
- Share the software and your changes with others
Under the following conditions:
- If you distribute your modified version, you must pass on to the recipients the same freedoms and require them to do the same
- You must include the source code, or make it freely available
- You must state any significant changes made to the software
- You must keep intact all licensing notices
For more details see the full license text.