Barnby is a village and civil parish in the Waveney district of the English county of Suffolk. The village is west of Lowestoft and east of Beccles in the north of the county. It is effectively merged with the village of North Cove which constitutes a separate parish.
The village is on the edge of the Broads and lies on the A146 road running between Norwich and Lowestoft. This bypasses the built up area on a series of bends known locally as the "Barnby bends". The East Suffolk Line runs on the northern edge of the village, although the nearest stations are Oulton Broad South and Beccles.