react-qr-svg
React component for rendering SVG QR codes
Demo
Basic demo can be found at the demo page.
Why SVG?
Most of the existing React components for QR (namely qrcode.react
, which was used as a starting point for this project) use <canvas>
for rendering.
This is fine for most scenarios, however when trying to print such code, it gets blurry. This is caused by the fact that <canvas>
contents get rastered and then scaled in the process resulting in the blurriness.
On the other hand, SVG retains the vector information of its contents and therefore is scaled properly when printed.
Basic Usage
Install using npm
:
npm install react-qr-svg --save
Then use in your application like this:
import React from 'react';
import { QRCode } from 'react-qr-svg';
class Demo extends React.Component {
render() {
return (<QRCode
value="some text"
size={512}
level="Q"
bgColor="#FFFFFF"
fgColor="#000000"
/>);
}
}
Props
The props available are (shown with default values):
{
value: '',
size: 256,
level: 'L',
bgColor: '#FFFFFF',
fgColor: '#000000',
}
The level
prop corresponds to Error correction level so the valid values are L
, M
, Q
and H
.
Acknowledgements
This project is heavily inspired by the qrcode.react
project.
This project uses the react-component-boilerplate
.
License
react-qr-svg is available under MIT. See LICENSE for more details.