TXB0108 bi-directional level converter comes in! This chip perform bidirectional level shifting from pretty much any voltage to any voltage and willauto-detect the direction. Only thing that doesn't work well with this chip is i2c (because it uses strong pullups which confuse auto-direction sensor). If you need to use pullups, you can but they should be at least 50K ohm - the ones internal to AVRs/Arduino are about 100K ohm so those are OK! Its a little more luxurious than a 74LVX245 but if you just don't want to worry about directional pins this is a life saver!
Since this chip is a special bi-directional level shifter it does not have strong output pins that can drive LEDs or long cables, it's meant to sit on a breadboard between two logic chips! If you do not need instant bi-directional support, we suggest the 74LVX245 as below which has strong output drive
1.1.2V 1.8V 2.2V 2.5V 3.3V 5V Logic Level Bi-directional Converter Module
1 x 8 Channel 8-Bit Logic Level Bi-directional Converter Module TXB0108 for Arduino
8 Channel Logic Level Bi-directional Converter Module TXS0108E TXB0108 Arduino A