A Python QR Code Generator for creating fully customizable QR codes.
A lightweight, modular Python utility for creating fully customizable QR codes—complete with the ability to embed a logo at the center. Whether you need a plain QR for tickets and posters or a branded code for marketing materials, this generator makes it easy to tweak colors, sizing, error correction, and logo placement in just a few lines of code.
- Major Disclaimer:
- URL links with/without Logos in a PNG format are used: is provided “as is” with no guarantees on accuracy or service reliability.
- As stated within the License, you must obtain permission by the Author of this project.
A quick introduction of the minimal setup you need to get a Hello World up & running in VS Code.
Install "VS Code" and "Python"
Ensure the "Environment Variable" is included in "the Path" within Python ("Click the Checkbox")
Install the needed "Extensions for VS Code" ["Python by Microsoft, Python Debugger by Microsoft, etc"]
Other Extensions may include ["GitHub, Markdown, Elint/lint, etc"] to utilize GitHub Version Control and other language syntax
Start coding Python
You can run the code by using the following: ["python filename.py"]Congrats! You just created your first Python file and there's so much more you can do so experiment to your hearts content!
Requirements:
-
Ensure that the project file/folder and other dependencies you plan to make is within the range for code execution.
-
Ensure you have a GitHub account to make project repos and save changes to prevent loss of progress with your code in the future.
In order to start developing the project further:
git clone https://github.com/username/project-name.git
cd project-name/After setting up GitHub and the GitHub repo, you should be able to clone/commit/publish your progress as you make changes to the project.
To build the project after some code changes:
commit changes by using the GitHub extensions from VS Code or by using the terminal via commands
stash/push the changes into the main/master branch of the project or in another branch if neededAfter commiting and pushing the changes into GitHub, you should see the project repo change to reflect the most recent code.
In case you want to publish your project to a server:
Ensure that the project is fully functional and give appropiate credit to all contributors/authors.
Provide a step-by-step process of how you managed to complete the project.
Check the project and live server before finalizing the project status.If you want to use GitHub or any other 3rd party platform for your server, you can but it may prove to be difficult with the lack of updated tutorials for all sorts of software services. [You can checkout the masterPortfolio repo to see how to use GitHub pages]
This project repo has the following:
- Flexible QR customization
- Set box size, border thickness, fill and background colors
- Adjust error-correction level for maximum scan reliability
- Optional logo overlay
- Automatically resizes and centers your logo on a transparent canvas
- Draws a configurable outline behind the logo to ensure contrast
- Skips the overlay step if no logo path is provided, for a plain QR
- Pure-Python, zero external dependencies (beyond PIL/Pillow and qrcode)
- Simple, single-entry API (generate_qr()) or granular functions for advanced workflows
- Saves directly to disk and even pops up the resulting image for quick verification
Helpful links that you can use with your project:
- GitHub Commands Cheat Sheet: [https://github.com/tiimgreen/github-cheat-sheet]
- In case of sensitive bugs like security vulnerabilities, please use the issue tracker or contact me directly. We value your effort to improve the security and privacy of this project!
"Give Credit where its Due": Credit goes to all the original repo owners, contributors, and author into making this project. (If possible, please provide the GitHub URLs and names to all that contributed including the project owner)
"The project is licensed under Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) License".

