Google recently add QRCode to its Chart API. This make QRCode generation a breeze. All you need to do is sending a GET request to google.
QR Code is the most popular 2d barcode. I put a page up that make it easy to generate QR Code with Google Chart API:
To create a URL, you need to put 'http://' at the beginning. Otherwise code reader will see it as just text. Likewise to create a telephone number, you need to put 'tel:' at the beginning, otherwise it's just code and you can't dial it from your phone.
There're a lot of code readers. I have Kaywa Reader on my cellphone, it works really well.