I recently looked at the datasheet for the ESP8266 that was published by Espressif (as opposed to the one on NURDspace, that was translated by someone from the Chinese datasheet), and I noticed a small detail that seems to differ from what is being repeated all over the Internet. It seems that the ESP8266 GPIO pins are 5V-tolerant after all, or at least protected from 5V input. I'm not sure of this, but look for yourself. In the "GPIO" section of the PDF (https://www.adafruit.com/images/product-files/2471/0A-ESP8266__Datasheet__EN_v4.3.pdf), it says:
All digital IO pins are protected from over-voltage with a snap-back circuit connected between the pad and ground. The snap back voltage is typically about 6V, and the holding voltage is 5.8V. This provides protection from over-voltages and ESD. The output devices are also protected from reversed voltages with diodes.
This is different from the early translation at https://nurdspace.nl/ESP8266 which says:
All digital IO pins must add an overvoltage protection circuit (snap back circuit) between the pin and ground. Usually bounce (snap back) voltage is about 6V, while maintaining the voltage is 5.8V. This prevents excessive voltage and generating ESD. Diodes also avoid reverse voltage output devices.
So which is it?