Can i write text more than 20 characters?
P2PKH addresses are a 20-byte hash of the public key so you're limited to 20 bytes for each output.
If you wish to insert data of more than 20 bytes, you'll have to do it with multiple outputs (i.e encode your message in different fake addresses) in the same transaction. For example, see this transaction
However, as Murch says, you'll be bloating the UTXO set by using this method; the public key isn't "valid" but the UTXOs are, so even though you can't spend the outputs of the transaction, miners and nodes still have to keep track of the UTXO because they can't tell the difference.
If you want something better, then use OP_RETURN like advised, more data can be stored (80 bytes vs 20 bytes) and since the ouptut is provably unspendable, it can be pruned from the UTXO set.