Neural network observers (NNOs) are proposed for online estimation of fluid flows, addressing a key challenge in flow control: obtaining flow states online from a limited set of sparse and noisy sensor data. For this task, we propose a generalisation of the classical Luenberger observer. In the present framework, the estimation loop is composed of subsystems modelled as neural networks (NNs). By combining flow information from selected probes and a neural network surrogate model (NNSM) of the flow system, we train NNOs capable of fusing information to provide the best estimation of the states, that can in turn be fed back to a neural network controller (NNC). The NNO capabilities are demonstrated for three nonlinear dynamical systems. First, a variation of the Kuramoto–Sivashinsky (KS) equation with control inputs is studied, where variables are sparsely probed. We show that the NNO is able to track states even when probes are contaminated with random noise or with sensors at insufficient sample rates to match the control time step. Then, a confined cylinder flow is investigated, where velocity signals along the cylinder wake are estimated by using a small set of wall pressure sensors. In both the KS and cylinder problems, we show that the estimated states can be used to enable closed-loop control, taking advantage of stabilising NNCs. Finally, we present a legacy dataset of a turbulent boundary layer experiment, where convolutional NNs are employed to implement the models required for the estimation loop. We show that, by combining low-resolution noise-corrupted sensor data with an imperfect NNSM, it is possible to produce more accurate and robust estimates. Our approach presents better robustness to noise when compared with direct reconstructions via super-resolution NNs and predictions from graph NNs and Fourier neural operators.