Is there any step by step guide how to do that?
1. start with 1 or 3
2. write between 19 (26-6-1) and 28 (35-6-1) characters (-1 is for initial char, -6 is for checksum)
3. check if any of the characters are 0OIl and change them.
4. add 6 arbitrary characters (like 1) at the end.
5. decode using base58 encoding
6. make sure the data length is 25 (1+20+4) and first byte is 0 or 5 depending on step #1
7. use bytes 0 to 20 (the first 21 bytes) as the actual data
8. encode using base58check (with a checksum)
9. don't use this address, use OP_RETURN to burn coins. it can also contain messages that are a lot longer than 20 bytes the address can hold.