Naprzeciw wojsk Grupy Armii „Wisła”, na prawym skrzydle działały wojska 2 Frontu Białoruskiego, a na lewym skrzydle wojska 1 Frontu Białoruskiego. Linia rozgraniczenia między frontami biegła wzdłuż linii Bydgoszcz-Lędyczek-Szczecinek-Białogard-Kołobrzeg. 2 Front Białoruski składał się z czterech armii ogólnowojskowych, dwóch korpusów pancernych, korpusu zmechanizowanego i gwardyjskiego korpusu kawalerii. Jego działania wspierała 4 Armia Lotnicza. Siły 1 Frontu Białoruskiego, działające na kierunku pomorskim, składały się z czterech armii ogólnowojskowych (w tym 1 Armia WP), gwardyjskiej armii pancernej oraz gwardyjskiego korpusu kawalerii.
Siły obu stron były mocno osłabione wcześniejszymi walkami, przykładowo w 2 Froncie Białoruskim przeciętny stan osobowy dywizji sięgał zaledwie 50% etatu, a cała armia dysponowała na początku lutego zaledwie 297 czołgami. Problemem było też znaczne wydłużenie radzieckich linii zaopatrzeniowych. Wojska niemieckie znajdowały się w podobnym stanie i borykały się z trudnościami zaopatrzeniowymi. W momencie rozpoczęcia głównych walk (2 faza operacji) wojska niemieckie na Pomorzu (bez 3 APanc., która została wycofana za Odrę) liczyły około 430 tys. żołnierzy, 1–1,5 tys. czołgów i dział pancernych, 5–6,5 tys.