SVG 패스 편집기
SVG Path Editor
패스 데이터를 절대·상대 명령으로 바꾸고 이동·확대·회전·방향 뒤집기를 적용하며 경계 상자와 미리보기를 보여 줍니다.
`d` 속성을 읽어 변형한 것을 돌려줍니다. 절대·상대 변환, 이동, 배율, 경계 상자 중심 기준 회전, 방향 뒤집기, 원하는 소수 자릿수로 반올림까지 합니다. 결과는 Path2D로 그리므로 호 계산을 SVG 렌더러와 같은 방식으로 하고, 경계 상자와 그대로 붙여넣을 수 있는 viewBox도 알려 줍니다.
path의 d 속성
미리보기
점선은 경계 상자, 빨간 점은 시작점입니다. 채우기는 nonzero 규칙입니다.
결과
명령
18
서브패스
3
숫자
32
바이트
113 → 97
경계 상자
x 2.00 y 2.00 w 20.00 h 20.00
viewBox
2.00 2.00 20.00 20.00
무엇을 하는지
- · SVG 최적화 도구와 같은 파서로 읽으므로
1.5.5같은 압축 표기와 호 플래그를 정확히 읽습니다. 절대·상대 변환, 소수 자리 반올림, 이동·배율·회전(경계 상자 중심 기준), 방향 뒤집기, 경계 상자 계산을 합니다. - · 회전하면
H·V는L이 되고, 호의 반지름·축 회전·sweep 플래그는 SVG 1.1 부록 F.6의 식으로 다시 계산합니다. 경계 상자는 제어점이 아니라 곡선의 실제 극값으로 잡습니다. - · 곡선을 단순화(점 줄이기)하지는 않습니다. 그건 모양을 바꾸는 일이고, 정확도 기준을 정하는 것은 사람의 몫입니다.
사용 방법
d 속성을 붙여넣습니다
`<path>` 없이 값만 넣으면 됩니다. `1.5.5`를 두 숫자로 읽는다든가 호 플래그에 구분자가 없다든가 하는 압축 표기도 괜찮습니다. 파서가 SVG 최적화 도구와 같은 것이라 그런 경우를 처리합니다.
필요한 변형을 겁니다
이동·배율·회전은 도형 자체에 적용되므로 결과에 `transform` 속성이 필요 없습니다. 회전은 경계 상자 중심을 기준으로 하는데, 아이콘에서 원하는 동작이고 그냥 `rotate()`를 쓸 때와는 다릅니다.
절대·상대와 소수 자릿수를 정합니다
상대 명령이 대개 더 짧고, 인라인으로 넣는 아이콘에서는 그게 중요합니다. 실제 크기를 좌우하는 것은 소수 자릿수입니다. 24 단위 아이콘 격자라면 세 자리로 충분하고, 여섯 자리에서 두 자리로 내리면 문자열이 절반이 되는 경우가 많습니다. 옮기면서 바이트 수를 보세요.
채우기가 이상하면 방향을 뒤집습니다
빨간 점이 시작점이라 뒤집은 결과가 눈에 보입니다. nonzero 규칙에서 안쪽 서브패스가 구멍이 되는지를 정하는 것이 방향이고, 선 점선 애니메이션이 따라가는 것도 방향입니다.
경로를, 또는 viewBox를 가져갑니다
결과 상자에 `d` 값과 바로 쓸 수 있는 `<path>` 요소가 있습니다. 통계 패널에는 경계 상자가 viewBox 문자열로 들어 있는데, 아이콘을 프레임에 정확히 채우는 가장 빠른 방법입니다.
자주 묻는 질문
왜 곡선을 단순화해 주지 않나요?
단순화는 모양을 바꾸는 일이고, 얼마나 바뀌어도 되는지는 이 그림에 대한 판단이라 도구가 대신 내릴 수 없습니다. 점 줄이기 알고리즘은 모두 허용 오차를 받는데, 그 결정을 내리기에 정직한 자리는 무엇을 잃는지 눈으로 보면서 할 수 있는 벡터 편집기입니다. 안전한 크기 조절 수단은 소수 자릿수 반올림이고, 그건 여기 있습니다.
회전하거나 배율을 바꾸면 호는 어떻게 되나요?
호로 남습니다. 반지름과 x축 회전, sweep 플래그를 SVG 1.1 부록 F.6의 식으로 다시 계산하는데, 그래야 비균등 배율에서도 타원의 축이 맞습니다. 회전하면 `H`와 `V`는 `L`이 됩니다. 수평선이 수평으로 남지 않기 때문입니다.
경계 상자가 제어점 기준인가요?
아닙니다. 각 곡선의 실제 극값에서 구합니다. 3차 곡선의 제어점은 대개 곡선 바깥에 있어서 제어점 기준 상자는 너무 큽니다. 눈에 띄게 큰 경우도 많고, 그 상자를 viewBox로 붙여넣는다는 점에서 바로 그때가 문제가 되는 때입니다.
경로 하나만 되는데 파일 전체는요?
일부러 `d` 값 하나만 다룹니다. 여기 있는 변형과 방향 뒤집기가 의미를 갖는 단위가 그것입니다. 문서 전체라면 SVG 최적화가 안의 모든 경로를 다시 쓰고, SVG 편집기가 그 주변 구조를 읽습니다.
이 도구로 이어지는 것
SVG 최적화
SVG Optimiser
편집기 잔여 데이터를 지우고 변환을 합치며 좌표 자릿수를 줄이고, 결과를 나란히 비교합니다.
이미지 벡터 변환
Image to SVG
비트맵을 SVG 경로로 추적해 벡터로 만듭니다. 사진보다는 로고·선화에 적합합니다.
이징 곡선 편집기
Easing Curve Editor
움직이는 미리보기를 보며 cubic-bezier나 스프링 곡선을 조절하고 CSS 타이밍 함수를 만듭니다.
SVG 편집기 · 해설
SVG Editor and Explainer
SVG를 실시간 미리보기 옆에서 고치면서 파일을 해설합니다. viewBox와 확대, 변환, 경로 명령, 상속된 채색, 낭비되는 바이트, <img>·데이터 URI·인라인에서 무엇이 깨지는지 알려 줍니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
이징 곡선 편집기
Easing Curve Editor
움직이는 미리보기를 보며 cubic-bezier나 스프링 곡선을 조절하고 CSS 타이밍 함수를 만듭니다.
이미지 벡터 변환
Image to SVG
비트맵을 SVG 경로로 추적해 벡터로 만듭니다. 사진보다는 로고·선화에 적합합니다.
SVG 최적화
SVG Optimiser
편집기 잔여 데이터를 지우고 변환을 합치며 좌표 자릿수를 줄이고, 결과를 나란히 비교합니다.
SVG PNG 변환
SVG to PNG
SVG를 원하는 배율로 PNG·JPEG·WebP로 렌더링하며 배경을 투명하게 두거나 채울 수 있습니다.
색상 코드 변환
Colour Format Converter
HEX·RGB·HSL·HWB·LAB·LCH·OKLCH로 색을 변환하고 가장 가까운 색 이름을 알려 줍니다.
색상 선택기
Colour Picker
OKLCH 좌표판에서, 화면 스포이드로, 또는 업로드한 이미지에서 색을 고르고 원하는 표기법으로 복사합니다.