Atmospheric effects, such as turbulence and background thermal noise, inhibit the propagation of light used in ON–OFF keying (OOK) free-space optical (FSO) communication. Here we present and experimentally validate a convolutional neural network (CNN) to reduce the bit error rate of FSO communication in post-processing that is significantly simpler and cheaper than existing solutions based on advanced optics. Our approach consists of two neural networks, the first determining the presence of bit sequences in thermal noise and turbulence and the second demodulating the bit sequences. All data used for training and testing our network is obtained experimentally by generating OOK bit streams, combining these with thermal light, and passing the resultant light through a turbulent water tank which we have verified mimics turbulence in the air to a high degree of accuracy. Our CNN improves detection accuracy over threshold classification schemes and has the capability to be integrated with current demodulation and error correction schemes.