Johan Puke ble født i Ronneby, hans foreldre var kaptein i hollandsk tjeneste, Johan Puke og Maria Regina Branting, datter til major Johan Branting og Regina Elisabeth Klöfverfelt. Hans far ble dømt til døden og henrettet for å ha deltatt i kuppet 1756 som ble forsøkt gjennomført for å øke den regjerende kong Adolf Fredrik av Sveriges makt. Moren og den farløse sønnen levde deretter i stor nød. Knapt ti år gammel ble han innskrevet ved Skeppsgossekåren i Karlskrona. Han var første gang til sjøs elleve år gammel. Fire år etter «karlskrevs» han (ble ansett utlært som sjøgutt) og fortsatte sin tjeneste i Flottan som kofferdibåtsman ved schoutbynachten Johan Rajalins kompani.