Окончил Ленинградский университет (1930). С 1931 г. преподавал в Ленинградском горном институте, в 1946—1984 гг. заведующий кафедрой кристаллографии. Доктор геолого-минералогических наук (1943). Автор книг «Кристаллы минералов» (1957—1961, в 2 тт.), «История кристаллографии в России» (1962), «Лекции по кристалломорфологии минералов» (1968), «Очерки по минералогической кристаллографии» (1974).
Кавалер ордена Трудового Красного Знамени. Заслуженный деятель науки России, почётный член минералогических обществ России и Украины. Именем Шафрановского назван минерал шафрановскит, открытый в 1982 г. на Кольском полуострове.