In coastal and semi-enclosed seas, the mean local sea level can significantly influence the magnitude of flooding in inundation areas. Using the cyclostationary empirical orthogonal function (CSEOF) method, we examine the spatial patterns and temporal variations of annual sea level cycle in the Baltic Sea based on satellite altimetry data, tide gauge data, and regional model reanalysis during 1993 and 2014. All datasets demonstrate coherent spatial and temporal annual sea level variability, although the model reanalysis shows a smaller interannual variation of annual sea level amplitude than other datasets. A large annual sea level cycle is observed in the Baltic Sea, except in the Danish straits from December to February. Compared with altimetry data, tide gauge data exhibit a stronger annual sea level cycle in the Baltic Sea (e.g., along the coasts and in the Gulf of Finland and the Gulf of Bothnia), particularly in the winter. Moreover, the maps of the maximum and minimum annual sea level amplitude imply that all datasets underestimate the maximum annual sea level amplitude. Analysis of the atmospheric forcing factors (e.g., sea level pressure, North Atlantic Oscillation (NAO), winds and air temperature), which may contribute to the interannual variation of the annual sea level cycle shows that both the zonal wind and winter NAO (e.g., from December to March) are highly correlated with the annual cycle variations in the tide gauge data in 1900–2012. In the altimetry era (1993–2014), all the atmospheric forcing factors are linked to the annual sea level cycle variations, particularly in 1996, 2010 and 2012, when a significant increase and drop of annual sea level amplitude are observed from all datasets, respectively.