Село Новопетровка находится на побережье Азовского моря в Бердянском районе Запорожской области (Украина). Располагается на левом берегу реки Берда в месте впадения её в море. Выше по течению, на расстоянии в 1 километр от Новопетровки, расположено село Старопетровка. Река в этом месте извилистая, образует лиманы, старицы и заболоченные озёра. Новопетровка расположена в 10 км к северо-востоку от города Бердянск. В 2 км к юго-западу от селения находится Бердянский лиман, отделенный от моря узкой перемычкой, в которой имеется небольшой разрыв, соединяющий лиман с морем; в северную часть лимана впадает река Берда.Население по переписи 2001 года составляло 2161 человек.