ESP32 max output voltage on GPIO
All you need to do is open the datasheet for your device, find the section typically called "Electrical Characteristics", and search for the output voltage specifications.

The spec is usually given in two values, "High-level output voltage" (\$V_{OH}\$) and "Low-level output voltage" (\$V_{OL}\$). Usually you will be given the minimum value of output high, and the maximum value of output low.

As an example, here is one datasheet for the ESP32 family (found through a Google search in under 5 seconds), from there the values are given on page 33 as "0.8 x VDD" for \$V_{OH}\$ and "0.1 x VDD" for \$V_{OL}\$. 

The value of VDD is noted to depend on the supply powering the corresponding IO bank. These are listed on page 50. So from there once you know which supply voltage represents VDD for your pin, you just need to do some simple maths to get the minimum high and maximum low voltage levels.

The reason for the way they are specified is that if you want to connect the output to an input, you want to know that the minimum output high voltage is higher than the minimum input high voltage for the input (to ensure that a logic 1 is interpreted as logic 1), and the same goes for logic 0.