Hey amazing people, today we are gonna build a QR Code generator in Python.
How QR Code Generator works?
Our QR code generator takes some data as input. That data can be anything like a URL or some text. And then it creates a QR code from that input data. And in the final step, the QR Code is saved as an SVG file. Noe since you have a rough idea of how our QR generator is going to work, let's move on to the Project Setup section and make this magic happen.
Project Setup
Before we jump to coding, we need to install one module for our project. We are talking about pyqrcode
module which doesn't come pre-installed with python and hence we have to install it manually.
We can install this by simply running pip install pyqrcode
command from the terminal. So let's do that.
pip install pyqrcode
Here we go it's done! Now let's move on to the fun part, the coding part.
Let's Code
Alright so remember the first thing we always do is import required modules into our project. In our case, we need to make use of pyqrcode
module which we just installed onto our system. So now let's import it.
import pyqrcode
Awesome! So next thing we need to do is to get some user input to create a QR Code.
data = input("Enter the text or link to generate QR code: ")
Here we are simply using an input()
function to obtain user input and storing it in the data
variable.
Now it's time we create the QR Code!
qr = pyqrcode.create(data)
Here we are simply using pyqrcode.create()
function which is a part of our pyqrcode
module. This function will take our user input as a parameter and will generate a QR code. That QR code will then be stored in the qr
variable.
However, we cannot see that QR code yet. To see it, we have to export it into a file. That can be easily done using another function... Here's how:
qr.svg('qr_code.svg', scale = 8)
Here we are using svg('FILE_NAME', scale = 8)
function were we have to provide the name of the QR code file to be generated and a scale parameter which by default will be 8
.
And here we did it. Now go ahead and try this one out on your own. 🤩
Source Code
You can find the complete source code of this project here -
mindninjaX/Python-Projects-for-Beginners
Support
Thank you so much for reading! I hope you found this beginner project useful.
If you like my work please consider Buying me a Coffee so that I can bring more projects, more articles for you.
Also if you have any questions or doubts feel free to contact me on Twitter, LinkedIn & GitHub. Or you can also post a comment/discussion & I will try my best to help you :D
Top comments (10)
This isn't building a QRCode generator at all. It's a tutorial on how to import a library and call a function
Hello Jon! Our tutorials are meant for Complete beginners and the main aim is to make them more familiar and comfortable with Python by exposing them with the expandability of the Python.
Can you please elaborate the things you feel should be added to this tutorial to make it more effective...
We always look forward for feedback to continuously improve our tutorials.
Have a great day ❤️⭐
Yes
I have bookmarked your website because this site contains valuable information in it. I am really happy with articles quality and presentation. Thanks a lot for keeping great stuff. I am very much thankful for this site.!!!! Link Building Service
Try writing PNG files and generating qrcodes urself
Hey Rishit!
Can you please elaborate? We didn't exactly got what you meant...
I mean generating qrcode with ur own code and without a library
Sounds like a great idea!
Will update our editor about this...
Have a great day Rishit ⭐
is there a way to store images as data in the QR code
Great Question! Well technically that's possible, all you have to do is to convert the image into the text-based format and then generate a QR code out of that text.
You have to repeat the process by extracting the text from QR and then converting it back into the image.
Although, this may sound technically possible, practically it's really hard to achieve this since there will be so much text that you have to create a giant QR code to fit all the data into it. And then be able to scan it making sure every grid gets scanned. Now, this is impractical.
An easy way would be to upload the image somewhere, get the link & use that link to create a QR code.
I hope that answers your question ;)