21

How can I create QR codes in Ubuntu 16.04?

6

3 Answers 3

39

I have tested two applications that worked well on Ubuntu 16.04 for creating QR codes:

  • If you want a simple command-line tool, I can recommend qrencode.

    It takes an output file name and optionally an input string as command-line arguments and produces a PNG file with the QR code. If no input string is given as argument, it reads from standard input, so you can either type into the terminal or pipe another command's output into it. There are also some more advanced options.

    Install it with sudo apt install qrencode.

    The basic usage is qrencode -o "output-file.png" "Your text here".
    For more information see man qrencode.


  • If you want a user-friendly GUI tool, you should try qtqr.

    It offers you a clean user interface that allows you to select an input data type like e.g. URL, email address, phone number, WiFi credentials or plain text. You can easily select the pixel size, margin and error correction level and save in the formats PNG and SVG. It also allows you to scan and decode QR codes from image files or a webcam.

    Install it with sudo apt install qtqr.

Now here's a screenshot showing how to create a QR code of my Ask Ubuntu profile URL with both tools (and using eog on the right to view the image created by qrencode, as it has no preview). Note that the created images are absolutely identical:

qtqr and qrencode/eog

2
  • 1
    A variant of qrencode which can be quite useful: qrencode -o- "your text here" | display - (create QR code for "your text here" and display it with ImageMagick on screen, close by pressing Escape). To create a larger size, specify the -s<number> option as in: qrencode -s8 -o- "your text here" | display -. Create something from your clipboard: xsel -b | qrencode -o- | display -
    – Lekensteyn
    Sep 26, 2017 at 1:56
  • Do not use qtqr unless you want to wast a couple of hours trying to figure out, why generated QR code contains corrupted text
    – user502144
    Jun 12, 2019 at 11:06
2

Using Scribus

  1. Install and open Scribus
  2. In new Document dialog select Single Page New Document dialog with Single page selected
  3. From Insert menu at top choose Barcode Insert>Barcode
  4. Select QR Code from Type dropdown (You can expand this window if it is too small) Type>QR Code
  5. Type in the text you want to encode in the Code input box This page's QR code created
  6. Press OK and click to place a 'frame' which is Scribus-speak for an element on a page QR code placed
  7. Resize the 'frame' as you want it QR code resized
  8. Export the page as an image from File>Export>Save as Image... File>Export>Save as Image
  9. Crop the image in an image editor
3
  • 3
    That is surely nice if someone already uses Scribus and ideally can continue working with the QR code in that application, but for exclusively generating simple QR codes, I would probably not use it. It's a bit like recommending LibreOffice Writer for cropping images...
    – Byte Commander
    Sep 26, 2017 at 11:41
  • lol, true, personally I was a little stumped to find that functionality existed and I had Scribus lying around since forever, thought maybe someone else might be in the same boat.
    – groundjet
    Sep 26, 2017 at 18:06
  • It's a bit like using a hammer instead of a screwdriver when you have to simply tighten a loose screw. Feb 20, 2018 at 11:16
0

This also works in Ubuntu 18.04+.

To expound upon the qrencode answer here: to generate an auto-deleting QR code, so you can just view it once, do this:

# 1. 1-line cmd to make a QR code from a URL
qrencode -m 4 -o /tmp/qr.png "www.google.com" \
&& ((eog /tmp/qr.png &); sleep 1; rm /tmp/qr.png)

# 2. 1-line cmd to make a QR code from an entire file
cat "path/to/file.txt" | qrencode -m 4 -o /tmp/qr.png \
&& ((eog /tmp/qr.png &); sleep 1; rm /tmp/qr.png)

For full details, see my answer here: Stack Overflow: piping qrencode to eog to avoid creating a file

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .