Shëngjin (; 'Sint-Johannes'; bepaalde vorm: Shëngjini; Italiaans: San Giovanni di Medua; Turks: Singin) is een haven- en badstad in de Albanese prefectuur Lezhë. De stad maakt deel uit van het district Lezhë en ligt aan de Adriatische Zeekust, meer bepaald de Dringolf, op zeven kilometer ten noordwesten van de gelijknamige prefectuurshoofdplaats. Shëngjin telt 11.076 inwoners (2007), verspreid over de stad zelf (3764 inwoners) en vier dorpen (samen 7312 inwoners).