PNG를 SVG로 일괄 변환하는 방법 (5가지 방법 비교)
여러 PNG 파일을 한 번에 SVG로 변환하는 검증된 5가지 방법(온라인 도구, 핫 폴더, 무료 데스크톱 앱, 스크립트, API)을 비용, 처리량, 색상 지원 및 개인정보 보호 측면에서 비교합니다.
일괄 처리의 문제점과 피해야 할 함정
10개의 PNG가 있습니다. 또는 400개. 아니면 51,000개의 파일에 대한 질문으로 Adobe 커뮤니티 포럼에서 가장 긴 스레드 중 하나를 시작한 디자이너처럼 벡터화해야 할 전체 에셋 라이브러리가 있을 수 있습니다. 하나의 이미지를 수동으로 변환하는 것은 괜찮습니다. 하지만 그 시점을 지나면 래스터 이미지 전체 폴더를 SVG 폴더로 변환하는 단일 프로세스, 즉 일괄 처리 워크플로우가 필요합니다. 만약 오늘 정말로 중요한 파일 1개만 변환하면 된다면, 무료 온라인 PNG-SVG 변환기가 1분 안에 작업을 처리해 줍니다. 이 가이드는 그 수준을 넘어서는 모든 내용을 다룹니다.
방법을 비교하기 전에 한 가지 정의를 명확히 하겠습니다. 진정한 일괄 변환이란 모든 PNG가 '벡터화'되는 것을 의미합니다. 즉, 이미지의 모양이 수학적 경로로 다시 그려지는 것이며, 이것이 벡터화가 실제로 의미하는 것입니다. 많은 도구들이 이 단계를 완전히 건너뛰며, 이는 결과물의 모든 것을 바꿔놓습니다.
가장 흔한 실패 유형: 일부 "SVG 변환기"는 추적을 전혀 하지 않고 PNG를 .svg 파일 내에 임베디드 이미지로 감싸기만 합니다. 결과물은 여전히 위장된 비트맵이기 때문에 "완벽하게" 크기가 조절되는 것처럼 보입니다. 출력된 파일을 텍스트 편집기로 열어보세요. <path> 요소 대신 거대한 base64 <image> 태그가 있다면 아무것도 벡터화하지 않은 것입니다. 아래의 모든 방법은 실제 추적(Tracing) 여부를 기준으로 평가되었습니다.
변환기의 실제 결과
방법 1: 온라인 일괄 변환기
소규모 일괄 처리를 위한 가장 빠른 경로입니다. 여러 온라인 도구가 한 번에 여러 파일을 허용합니다. to.imagestool.com에서는 PNG 세트를 드래그 앤 드롭하여 브라우저에서 로컬로 처리할 수 있습니다. Pixelied는 대량 업로드를 허용하고 결과를 ZIP으로 제공합니다. ImageResizer.com 및 reaConverter의 웹 평가판도 같은 방식으로 작동합니다. 설치도, 명령줄도 필요 없습니다. 파일을 놓고 결과를 다운로드하기만 하면 됩니다.
실제 작업을 맡기기 전에 두 가지를 확인하세요. 첫째, 도구가 실제로 추적(Tracing)을 수행하는지 확인하세요. 일부 "일괄" 사이트는 단순히 서버에서 단일 파일 변환을 반복하고 가짜 SVG의 ZIP을 반환합니다(위에서 경고한 임베딩 함정). 둘째, 아트워크가 상업적이거나 NDA(비밀유지계약) 대상인 경우 개인정보 보호 약관을 읽어보세요. 브라우저 기반 도구는 파일을 절대 업로드하지 않지만, 서버 기반 도구는 각 이미지를 다른 사람의 컴퓨터로 전송합니다. 투명성을 위해 말씀드리면: PixelToPath 자체의 무료 온라인 변환기는 의도적으로 단일 파일 전용으로 만들어졌습니다. 400개의 파일이 있는 폴더를 위한 것이 아니라 하나의 중요한 로고에 적합한 도구이며, 이 비교에서도 정확히 그 위치를 차지합니다.
방법 2: 핫 폴더 기능이 있는 데스크톱 앱 (PixelToPath Pro)
일괄 처리가 일회성이 아니라 매주 발생하는 작업이라면, 핫 폴더가 수동 단계를 완전히 제거해 줍니다. PixelToPath Pro(Windows 및 Linux)는 폴더를 모니터링하고 폴더에 들어오는 모든 이미지를 자동으로 변환합니다. 전체 흐름은 다음 4단계로 이루어집니다.
- 폴더 선택: 모니터링할 폴더와 SVG가 저장될 출력 폴더를 선택합니다.
- PNG 드롭: 10개든 수백 개든 전체 배치 파일을 입력 폴더에 저장, 복사 또는 드래그합니다.
- 작업 시작: 파일이 도착할 때마다 저장된 설정 프로필을 사용하여 오직 사용자의 컴퓨터에서만 추적이 수행됩니다.
- SVG 수집: 결과물은 원본 파일 이름으로 출력 폴더에 나타납니다.
일괄 처리에서 중요한 부분: 하나의 설정 프로필이 전체 대기열에 적용된다는 점입니다. 400개의 아이콘을 수동으로 변환하면 300번째 파일이 12번째 파일과 완벽하게 일치하는 일은 절대 없습니다. 프로필을 사용하면 모든 출력이 일관성 있게 유지되며, 이는 수동 워크플로우를 망치는 세부적인 차이를 해결합니다. 모든 것이 로컬에서 실행되므로 업로드 제한이 없으며 파일이 사용자의 컴퓨터를 벗어나는 일도 없습니다. Pro는 39유로(VAT 별도)의 일회성 비용으로 1명의 사용자가 최대 3대의 컴퓨터에서 평생 사용할 수 있는 라이선스를 제공합니다. 핫 폴더 일괄 변환 페이지에서 포함된 모든 기능에 대해 자세히 알아볼 수 있습니다. 이 가이드에서 소개하는 5가지 옵션 중 하나지만, 일괄 변환을 '신경 쓰지 않아도 되는 단계'로 만들기 위해 구축된 유일한 옵션입니다.
방법 3: 무료 데스크톱 앱과 Inkscape
이미 무료 데스크톱 앱을 사용하고 계신가요? 이 앱은 오프라인에서 PNG, JPG, BMP 및 WebP를 SVG로 변환하며 파일 수 제한이 없고 고급 추적 설정에 완벽하게 액세스할 수 있지만 한 번에 하나의 파일만 변환합니다. 일괄 처리는 바로 Pro 업그레이드에 추가되는 기능이며, 그렇지 않은 척하는 것보다 명확하게 말하는 것이 낫습니다. 무료, 로컬, GUI 기반의 변환기를 원하신다면 무료 데스크톱 변환기가 단일 파일을 위한 가장 정직한 선택입니다. 현실적인 처리량은 하루 수백 개가 아니라 수십 개 정도입니다.
Inkscape는 또 다른 무료 대표 도구입니다. '비트맵 추적(Trace Bitmap)' 대화 상자 역시 단일 이미지를 위한 것이며, Inkscape가 루프 스크립트에 포함할 수 있는 명령줄 옵션을 제공하긴 하지만 경험이 거칠고 문서화도 거의 되어 있지 않습니다. 참고로 GIMP는 기본적으로 일괄 벡터 내보내기 기능을 전혀 제공하지 않으며, 포럼의 스레드에서 정기적으로 이를 확인하고 있습니다. GUI 워크플로우에 몇 시간을 투자하기 전에, 모든 파일에 대해 벡터가 진정으로 필요한지 확인해 보세요. 웹을 위한 SVG 대 PNG 비교 글에서 변환이 가치 있는 경우를 다루고 있습니다.
방법 4: 명령줄 스크립트 (ImageMagick, Potrace, VTracer)
일회성 대량 작업의 경우, 10줄의 쉘 스크립트가 어떤 GUI보다 뛰어납니다. 흑백 처리를 위한 고전적인 파이프라인은 ImageMagick을 Potrace에 연결합니다(변환 후 추적): magick input.png input.pbm && potrace -s -o input.svg input.pbm
이 명령어를 폴더 내의 "for" 루프로 감싸면 Potrace는 CPU 속도로 진정한 벡터 패스를 출력합니다. 단, 철저하게 흑백으로만 가능합니다. 색상이 필요한 경우, PixelToPath에서도 사용하는 오픈 소스 Rust 트레이서인 vtracer로 같은 루프를 지정하세요. 두 도구 모두 매뉴얼 하나를 채울 만큼 충분한 플래그(옵션)를 가지고 있으므로 각각 전용 가이드가 있습니다(게시되는 대로 여기에 링크됨). 스크립트는 비용(무료), 개인정보 보호(로컬) 및 규모(실행당 수천 개) 측면에서 유리하지만, 진입 장벽에서 불리합니다. 파이프라인을 직접 유지 관리해야 하며, 스크립트가 고장 난 오후의 시간을 아무도 보상해주지 않습니다.
방법 5: CI 및 서버 측 작업을 위한 API 루프
배포 중, 빌드 파이프라인 내부, 백엔드 등 서버에서 변환을 수행해야 할 때 로컬 도구는 더 이상 선택지가 아닙니다. 패턴은 루프입니다. Bearer 키를 사용하여 이미지당 하나의 무상태(stateless) POST를 수행하고 각 SVG를 에셋 파이프라인에 직접 씁니다. 제한은 키 1개당 분당 60개의 요청이므로 루프 속도를 조절하고 제한에 걸린 호출은 지수 백오프(exponential backoff) 방식으로 재시도하세요. 실패한 호출은 절대 크레딧을 소비하지 않습니다. REST API를 사용하여 일괄 처리 전체를 자동화할 수 있으며 로컬 설치가 전혀 필요하지 않습니다. 바로 그것이 목적이니까요.
비용 계산은 예측 가능합니다. 선불 이미지는 대량인 경우 장당 0.05유로에서 0.01유로까지 내려가므로, 500개의 이미지는 약 20유로, 10,000개는 약 200유로가 듭니다. 게다가 모든 계정에 매달 10번의 무료 변환이 추가로 제공됩니다. 변환이 재현 가능해야 하고, 서버 측에 있어야 하며, 로컬 종속성으로부터 자유로워야 할 때는 API를 선택하세요. 로컬에서 대화형으로 작업할 때는 핫 폴더를 선택하세요. 이 두 가지면 현실 세계의 일괄 처리를 거의 모두 커버할 수 있습니다.
PNG에서 SVG 일괄 변환: 5가지 방법 모두 비교
동일한 입력을 다루지만 5가지 방법의 조건은 매우 다릅니다. 비용과 개인정보 보호는 프로모션이 아닌 구조적인 문제이며, 처리량은 현실적인 하드웨어에서 1명의 운영자(또는 일반적인 서버)를 가정합니다. 그리고 '색상'은 검은색 실루엣이 아닌 진정한 다색 벡터 출력을 의미합니다.
| 방법 | 비용 | 파일/일 (현실적 기준) | 색상 | 품질 관리 | 개인정보 보호 | 필요한 기술 |
|---|---|---|---|---|---|---|
| 온라인 변환기 | 무료 | 50~500개 (수동) | 도구에 따라 다름 | 사전 설정(Preset)만 가능 | 다양함 - 약관 확인 필요 | 없음 |
| Pro 핫 폴더 | 39유로 (일회성) | 수천 개 (로컬 CPU) | 예 | 하나의 프로필, 모든 설정 | 100% 로컬 | 없음 |
| 무료 데스크톱 / Inkscape | 무료 | 20~100개 (한 번에 하나씩) | 예 (단일 파일) | 완전 지원, 파일별 | 100% 로컬 | 기본 |
| 스크립트 (CLI) | 무료 | 수천 개 이상 (로컬 CPU) | Potrace 불가 - VTracer 가능 | 완전 지원 (플래그) | 로컬 | 명령줄 |
| API 루프 | 월 10개 무료, 이후 이미지당 0.01~0.05유로 | 수만 개 (분당 60개 요청) | 예 | 호출당 엔진 매개변수 | 파일 업로드됨 | 개발자 |
한 달에 한 번 이상 일괄 변환을 수행하는 경우, 방법 2와 5는 사용 첫날 오후면 본전을 뽑습니다. 그보다 규모가 작은 모든 작업의 경우, 방법 1이나 3은 약간의 시간을 제외하면 비용이 전혀 들지 않습니다.
관련 변환 가이드
일괄 변환은 첫 번째 단계일 뿐입니다. 다음 가이드에서 나머지 부분을 다룹니다.
자주 묻는 질문
무료로 PNG를 SVG로 일괄 변환할 수 있나요?
네, 두 가지 방법이 있습니다. 명령줄 스크립트(Potrace, ImageMagick, VTracer)는 파일 제한 없이 무료이며, 무료 데스크톱 앱과 Inkscape도 무료이지만 한 번에 하나의 파일만 변환합니다. 여러 파일을 무료로 허용하는 온라인 도구도 존재하지만, 상업용 아트워크를 보내기 전에 해당 도구가 실제로 벡터화를 수행하는지 확인하고 개인정보 보호 약관을 반드시 읽어보세요.
일괄 변환할 때 색상을 어떻게 유지하나요?
컬러 트레이서를 사용하세요. Potrace는 스크립트를 어떻게 작성하든 완전히 흑백으로만 변환됩니다. VTracer, PixelToPath Pro, PixelToPath API는 모두 각 색상 영역을 자체 벡터 모양으로 재구성하는 컬러 엔진을 실행합니다. vtracer를 사용하여 루프를 스크립트화하거나, 유지 관리를 원치 않는 경우 Pro 또는 API를 사용하세요.
PNG가 든 ZIP을 업로드하고 SVG가 든 ZIP을 받을 수 있나요?
일부 온라인 도구(예: Pixelied)는 대량 업로드를 허용하고 ZIP을 반환합니다. 데스크톱 일괄 처리 모드와 스크립트는 결과를 출력 폴더에 쓰므로 한 번에 ZIP으로 압축할 수 있습니다. API는 호출당 1개의 SVG를 반환하므로 아카이브 작업은 사용자가 직접 처리해야 하며, 이는 일반적으로 빌드 파이프라인에서 원하는 방식이기도 합니다.
왜 제 일괄 처리 결과물이 검은색 직사각형으로 나왔나요?
그것이 바로 '임베딩의 함정'입니다. 도구가 각 PNG를 추적(Tracing)하는 대신 SVG 래퍼 안에 감쌌기 때문에 렌더링에 실패한 임베디드 래스터 이미지가 보이는 것입니다. 출력된 파일 하나를 텍스트 편집기에서 열어보세요. 단일 base64 <image> 태그가 이를 확인해 줄 것입니다. 실제 <path> 요소를 출력하는 도구를 사용하여 일괄 처리를 다시 실행하세요.
50,000개의 파일이 있습니다. 실제로 어떤 것이 작동할까요?
핫 폴더 또는 API입니다. 그 외의 다른 모든 방법은 해당 수치에 도달하기 훨씬 전에 한계에 부딪힙니다. 분당 60건의 요청을 처리하는 API는 약 200유로의 선불 크레딧으로 실제 시간 14시간 만에 50,000개의 이미지를 처리합니다. 로컬 핫 폴더는 오프라인에서 동일한 작업을 수행하며 처리량은 CPU에 의해 결정됩니다. 두 방법 모두 실행 과정 내내 동일한 설정을 유지합니다.
쌓여있는 PNG 파일들을 처리할 준비가 되셨나요?
무료 온라인 도구에서 단일 파일을 변환하든, Pro에서 핫 폴더를 설정하든, API를 루프 처리하든, 모든 경로는 깔끔하고 진정한 벡터 패스로 끝납니다.