You could do slightly better by not restricting yourself to the BMP. Full Unicode gives you almost 21 bits per code point, which is what Twitter counts. Round it down to 20 bits per &quot;character&quot; and you have 2800 bits = 350 bytes in a tweet, or 400 ASCII characters.