DEV Community

Cover image for How to build a QR Code Generator in Python
Rishabh Singh ⚡
Rishabh Singh ⚡

Posted on

How to build a QR Code Generator in Python

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.

Alt Text

Alt Text

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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: ")
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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.

https://dev-to-uploads.s3.amazonaws.com/i/5irx7eny4412etlwnc64.png

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)

Collapse
 
jonrandy profile image
Jon Randy 🎖️

This isn't building a QRCode generator at all. It's a tutorial on how to import a library and call a function

Collapse
 
mindninjax profile image
Rishabh Singh ⚡

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 ❤️⭐

Collapse
 
rishitkhandelwal profile image
Rishit Khandelwal

Yes

Collapse
 
muhamma90373214 profile image
Muhammad Zeeshan

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

Collapse
 
rishitkhandelwal profile image
Rishit Khandelwal

Try writing PNG files and generating qrcodes urself

Collapse
 
mindninjax profile image
Rishabh Singh ⚡

Hey Rishit!

Can you please elaborate? We didn't exactly got what you meant...

Collapse
 
rishitkhandelwal profile image
Rishit Khandelwal

I mean generating qrcode with ur own code and without a library

Thread Thread
 
mindninjax profile image
Rishabh Singh ⚡

Sounds like a great idea!
Will update our editor about this...

Have a great day Rishit ⭐

Collapse
 
froggowithkatana profile image
FroggoWithKatana

is there a way to store images as data in the QR code

Collapse
 
mindninjax profile image
Rishabh Singh ⚡

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 ;)