It's mostly a matter of %age change. There are some online decoders like http://zxing.org/w/decode.jspx - but none that I know of which will tell you how many errors it encountered.

You can change the level of error correction, see http://code.google.com/apis/chart/docs/gallery/qr_codes.html#overview
* L - [Default] Allows recovery of up to 7% data loss
* M - Allows recovery of up to 15% data loss
* Q - Allows recovery of up to 25% data loss
* H - Allows recovery of up to 30% data loss
Obviously, the more error correction, the bigger the code.