EQRCode

Simple QR Code Generator written in Elixir with no other dependencies.

Installation

def deps do
  [
    {:eqrcode, "~> 0.1.5"}
  ]
end

Using EQRCode

You can use EQRCode to generate QR Code in SVG or PNG format.

qr_code_content = "your_qr_code_content"

# To SVG
qr_code_content
|> EQRCode.encode()
|> EQRCode.svg()

# To PNG
qr_code_content
|> EQRCode.encode()
|> EQRCode.png()

Note that the PNG format is only the binary. You still have to write the data to a file:

qr_code_png =
  qr_code_content
  |> EQRCode.encode()
  |> EQRCode.png()

File.write("path/where/you/want/to/save.png", qr_code_png, [:binary])

You should be able to see the file generated in the path you specified.

Image Rendering Options

SVG

You can pass in options into EQRCode.svg():

qr_code_content
|> EQRCode.encode()
|> EQRCode.svg(color: "#03B6AD", shape: "circle", width: 300)

You can specify the following attributes of the QR code:

Default options are [color: "#000", shape: "square"].

PNG

You can specify the following attributes of the QR code:

By default, QR code size will be dynamically generated based on the input string.

Credits

We reused most of the code from sunboshan/qrcode to generate the matrix required to render the QR Code. We also reference rqrcode on how to generate SVG from the QR Code matrix.

License

This project is Licensed under the MIT License.