This: https://scratch.mit.edu/projects/1324519460/ But the output is now base64 (a 6 bit base64 bitstream). I had to try this out. This one only works with the base64 alphabet (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxya0123456789+/). No spaces too In order to get this working i had to add an extra character defining the amount of letter that have to be removed because the output can be not divisible by 6. and this is very dependent on the bits itself so if i do 11 to 11000 it wouldn't be the same. And I decided to do this approach because its the easiest (and probably only) way. Original projects description (https://scratch.mit.edu/projects/1324519460/): Not sure if this has already been invented but this works but splitting things in half. if its a 1 it will split in the left half but a 0 will split in the right half. And when only 1 character is present it will be the selected character and then restarts. This is sometimes better or worse than the original number if its converted into a number. There also is an extra 1 bit that is 1 at the end of every single number to prevent 00000 = 0 and messing up everything. This can be used on any piece of data, not just text. (so images, games, videos ect.) but for scratch use. its text.