This is a 100% free QR code generator that runs entirely locally in your browser. It uses a Frankenstein version of QRCode.js with some of the countless pending pull requests applied (the ones I deem useful).
qrcode.js is released under the MIT License.
Apparently the original author has abandoned the project, which again illustrates the need for other people to be able to take over an abandoned GitHub repository, or at least have an obvious link to the active fork be placed on the obsolete repository's page.
Some extra hocus pocus has been added to allow saving generated SVG images. (Setting width different from height doesn't work with SVG, but makes little sense in general anyhow.)
The error correction level determines how many segments of the QR code can be messed up before QR code readers become unable to decipher the content of the code.
If you want to perform the silly practice of shoving a logo in the middle of the code, you should definitely use the highest correction level to compensate for the part of the code you are destroying, and understand that the result will have a lower resilience against damage.