BIP 173 defines the address format used for native segwit outputs. This format is not required for using segwit, but is more efficient, flexible, and nicer to use than the compatibility P2SH wrapper format.
The used Bech32 encoding is generally usable and uses a simple checksum algorithm with strong error detection properties. Reference code in several languages as well as a website demonstrating it are included.
Furthermore, it is possible to locate the characters which are likely wrong as shown by the demo below.
To address weaknesses discovered in Bech32, BIP 350 proposes using an improved format called Bech32m for addresses for witness versions 1 and higher. Such addresses would be used by the Taproot proposal.