본관은 은진(恩津). 자는 화숙(和叔). 아버지는 송양필(宋良弼)이며, 송광필(宋匡弼)에게 입양되었다.
1753년(영조 29) 정시 문과에 병과로 급제, 사헌부의 지평(持平)·장령(掌令), 사간원의 헌납(獻納)·집의(執儀) 등을 역임하였다.
1772년 통례원통례로서 임금에게 숙배(肅拜: 관리로 임명되면 직접 왕에게 하거나 왕을 향하여 네번 공손히 절하는 예)하지 않았다는 일로 장기현(長鬐縣)에 유배되었다. 뒤에 풀려나 1775년 대사간에 임명되었으며, 정조 초기에도 계속 대사간을 역임하였다.
1793년(정조 17) 한성부좌윤으로 있을 때 관아에 늦게 이르렀다 하여 파직당하였다. 1796년 의금부당상으로 있다가 법관으로서 법을 잘 지키지 않았다는 죄목으로 길주에 유배되었다가 같은 해 4월 우의정 윤시동(尹蓍東)의 주청으로 풀려났다. 1812년 5월 대호군으로 있다가 죽었다.