Bech32 detects as much as 4 errors (within the sense that, for those who make as much as 4 substitution errors, the ensuing string is assured to have an incorrect checksum). However error detection is just not the identical as error finding: simply realizing {that a} bech32 is inaccurate doesn’t imply you possibly can inform the place the errors have been made.
Bech32 additionally permits correcting as much as 2 substitution errors. That’s, if you already know not more than 2 substitution errors have been made, you possibly can for any given string compute what the unique, legitimate, string was. The javascript code on the web site you hyperlink to has code to do that, however for security causes, it deliberately doesn’t reveal what errors it discovered, solely the place.
The reason being that correcting is harmful. If the consumer made greater than 2 substitution errors, the error correction algorithm could effectively nonetheless discover two errors to “right”, within the sense that it will assemble a legitimate deal with, however it would not be the consumer’s deal with. An inattentive consumer could effectively simply make the corrections advised by the algorithm, and ship funds into the void. As a substitute, the correction algorithm remains to be used beneath the hood, however solely the placement of its errors is revealed, forcing the consumer to nonetheless go test whether or not main supply they acquired the deal with by, however maybe with additional give attention to the actual areas the algorithm believes are the possible positions errors have been made.