이 YAML 포맷터의 주요 기능
- YAML 1.2 설정 파일에 맞춰 조정된 Prettier 기반 포맷팅
- 구성 가능한 들여쓰기 크기(1-8)와 스페이스 vs 탭으로 일관된 들여쓰기
- 조정 가능한 줄 바꿈/줄 길이로 긴 키와 값도 가독성 유지
- 앵커, 별칭, 문자열로 된 불린 값, 멀티라인 블록 스칼라를 올바르게 처리
- Kubernetes, Docker Compose, CI 파이프라인 등을 위한 `.yaml` 및 `.yml` 파일 작업
- 편집기에서 YAML을 붙여넣거나 설정 파일을 포맷터로 드래그 앤 드롭
- 포맷된 YAML을 편집기나 저장소로 한 번의 클릭으로 복사
- 포맷팅은 주로 브라우저에서 클라이언트 측에서 실행되며, 필요한 파서/플러그인이 없는 경우에만 보안 서버 폴백이 사용될 수 있음
🔧 YAML 설정 파일 포맷팅 방법 for yaml-formatter
1. YAML 붙여넣기 또는 업로드
YAML 스니펫(Kubernetes 매니페스트, `docker-compose.yml`, GitHub Actions 워크플로우, Ansible 플레이북 등)을 복사하여 편집기에 붙여넣거나 `.yaml` / `.yml` 파일을 드래그 앤 드롭하세요.
2. 들여쓰기 및 줄 바꿈 조정
스페이스나 탭 사용 여부를 선택하고, 들여쓰기 크기(1-8 스페이스)를 설정하며, 팀의 스타일에 맞게 줄 바꿈/줄 길이를 조정하세요. 줄 바꿈 길이를 `0`으로 설정하면 매우 큰 내부 `printWidth`를 사용하여 줄 바꿈을 효과적으로 비활성화합니다.
3. 포맷터 실행
**포맷** 버튼을 클릭하세요. Prettier 기반 YAML 엔진이 앵커, 별칭 및 블록 스칼라를 보존하면서 일관된 들여쓰기로 설정을 재작성하여 의미가 변경되지 않도록 합니다.
4. 깔끔한 YAML 복사
출력을 검토한 후 포맷된 YAML을 편집기에 다시 복사하거나, Git에 커밋하거나, CI/CD 또는 클라우드 제공자 UI에 붙여넣으세요.
기술 사양
포맷팅 엔진 및 YAML 지원
이 도구는 UI에 구성 옵션이 노출된 Prettier 기반 YAML 포맷터 위에 구축되었습니다.
| 기능 | 지원 | 참고 |
|---|---|---|
| YAML 버전 | ✅ YAML 1.2 (일반적) | Kubernetes, Docker, CI/CD 및 앱에서 사용되는 현대적인 구성 스타일 YAML에 적합합니다. |
| 앵커 & 별칭 | ✅ 보존됨 | 주변 구조를 재들여쓰기하면서 `&anchor` 및 `*alias` 참조를 그대로 유지합니다. |
| 블록 스칼라 | ✅ 보존됨 | 내부 들여쓰기가 존중된 `|` 및 `>` 블록 스칼라를 유지합니다. |
| 불리언 & 숫자 | ✅ 주의 깊은 처리 | 서식은 값을 유지하지만 `yes` 대 "yes" 또는 `0012` 대 "0012" 사이의 차이를 노출할 수 있습니다. |
| 다중 문서 YAML (`---`) | ✅ 일반적 | 동일한 파일 내 여러 문서가 순서대로 유지되고 일관된 서식으로 포맷됩니다. |
들여쓰기, 줄 바꿈 길이 & 출력 스타일
포맷터는 핵심 옵션을 노출하여 프로젝트 스타일에 최대한 가깝게 맞출 수 있도록 합니다.
| 설정 | 옵션 | 실용적 권장사항 |
|---|---|---|
| 들여쓰기 스타일 | 공백 / 탭 | 대부분의 YAML 스타일 가이드는 공백을 권장합니다; 팀이 명시적으로 선호하는 경우에만 탭을 사용하세요. |
| 들여쓰기 크기 | 1–8 공백 | Kubernetes와 Docker에서는 2 공백이 일반적입니다; 시각적 명확성을 위해 4 공백을 사용합니다. |
| 줄 바꿈 / 줄 길이 | 0–120 열 | `0`은 줄 바꿈을 비활성화하고(매우 큰 내부 `printWidth` 사용), 80–100은 diff를 간결하게 유지합니다. |
| 파일 확장자 | .yaml, .yml | 도구 구성의 `fileExtensions` 및 `acceptedFileTypes`와 일치합니다. |
제한 & 성능
브라우저 탭에서 YAML 구성의 대화형 서식을 위해 최적화되었습니다.
| 매개변수 | 제한 / 동작 | 참고 |
|---|---|---|
| 최대 텍스트 입력 크기 | ≈ 2 MB (~2,000,000 문자) | 포맷터 함수 내에서 적용되는 안전 제한입니다. |
| 최대 파일 업로드 크기 | ≈ 5 MB | 편의성과 안정성을 위해 UI `maxFileSize` 설정에 따라 제한됩니다. |
| 포맷팅 타임아웃 | ~25초 | 브라우저 정지를 방지하기 위해 장시간 실행되는 작업이 중단됩니다. |
| 주요 실행 | 클라이언트 측 | `runPrettier`와 Prettier YAML 플러그인을 통해 브라우저에서 직접 실행됩니다. |
| 서버 폴백 | 파서/플러그인 오류 시에만 | 필요한 파서 플러그인이 누락된 경우, 안전한 `/api/yaml-formatter` 엔드포인트를 폴백으로 사용할 수 있습니다. |
YAML 포맷팅을 위한 CLI 대안
빠른 정리를 위해 온라인 포맷터를 사용하고, 대규모 프로젝트와 자동화된 파이프라인에는 CLI 도구를 의존하세요.
리눅스 / 🍏 macOS
yq로 YAML 파일 포맷팅 (예쁜 출력)
yq eval -P config.yaml > config.formatted.yaml일관된 들여쓰기와 키 순서로 YAML을 다시 작성합니다(yq 버전에 따라 다름).
Prettier로 YAML 정규화
prettier --parser yaml --write "**/*.{yaml,yml}"전체 저장소에서 동일한 종류의 엔진(Prettier YAML 파서)을 실행합니다.
Windows (PowerShell / cmd)
PowerShell + yq를 사용하여 YAML 포맷팅
yq eval -P config.yaml | Set-Content config.formatted.yamlYAML을 예쁘게 출력하고 결과를 디스크에 다시 기록합니다.
PowerShell 객체를 통해 YAML 왕복 처리
Get-Content config.yaml -Raw | ConvertFrom-Yaml | ConvertTo-Yaml | Set-Content config.formatted.yamlPowerShell의 YAML 지원을 사용하여 구조와 들여쓰기를 정규화합니다.
실용적인 YAML 사용 사례
인프라 & Kubernetes 매니페스트
- 코드 리뷰 전에 Kubernetes `Deployment`, `Service`, `Ingress` 매니페스트를 포맷팅합니다.
- Helm 차트의 `values.yaml` 파일을 정규화하여 diff를 더 깔끔하게 만듭니다.
- 환경 간에 CRD, ConfigMap 및 Secret YAML을 일관된 들여쓰기로 유지합니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 80Docker Compose & 로컬 개발 설정
- 문서나 티켓에서 공유하기 전에 `docker-compose.yml`을 예쁘게 만듭니다.
- 서비스, 네트워크, 볼륨의 들여쓰기를 정렬하여 유지보수를 용이하게 합니다.
- 블로그 게시물 및 온보딩 가이드를 위한 깔끔한 YAML 스니펫을 준비합니다.
version: "3.9"
services:
web:
image: myapp:latest
ports:
- "8080:80"
environment:
- NODE_ENV=production
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: exampleCI/CD 파이프라인 및 자동화
- GitHub Actions 워크플로우(`.github/workflows/*.yml`) 형식 지정.
- GitLab CI(`.gitlab-ci.yml`) 또는 Azure Pipelines YAML 정리.
- 팀 간 자동화 및 인프라-as-코드 YAML의 가독성을 유지합니다.
name: CI
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npm test❓ Frequently Asked Questions
❓이 YAML 포맷터는 무엇을 하나요?
YAML 입력(일반적으로 구성 파일)을 가져와 Prettier 기반 YAML 엔진을 사용하여 일관된 들여쓰기와 줄 바꿈으로 다시 작성합니다. 구성의 의미는 동일하게 유지되지만 레이아웃이 훨씬 읽기 쉽고 검토하기 쉬워집니다.🧩어떤 YAML 기능이 지원되나요?
YAML 1.2 기능을 위해 설계되었습니다: 매핑, 목록, 앵커 및 별칭, 블록 스칼라(`|` / `>`), 그리고 `---`로 구분된 다중 문서 파일. 사용자 정의 태그와 매우 이국적인 구조는 기본 파서에서 완전히 지원되지 않을 수 있습니다.📏YAML 입력에 크기 제한이 있나요?
YAML의 경우 CLI 또는 CI 파이프라인에서 Prettier나 yq를 실행하세요.🔐제 YAML이 서버에 업로드되나요?
YAML 플러그인을 통해 실행되므로, 일반 작동에서는 YAML이 클라이언트를 떠나지 않습니다. 필요한 파서 플러그인이 누락된 드문 경우에는 안전한 `/api/yaml-formatter` 엔드포인트로 폴백될 수 있습니다. 그 경우에도 YAML은 일시적으로만 처리되며 저장되지 않습니다.⚠️때때로 파서 오류가 표시되는 이유는 무엇인가요?
YAML이 잘못 형성되었거나(예: 일관되지 않은 들여쓰기, 누락된 `:` 또는 정렬되지 않은 목록 항목) 번들된 파서가 이해하지 못하는 구문을 사용했음을 의미합니다. 들여쓰기와 구조를 검증하거나 스니펫을 단순화한 후 포맷터를 다시 실행하세요.📚이것은 로컬 Prettier 설정과 어떻게 관련되나요?
YAML 엔진을 사용하며, `prettier --parser yaml`을 실행하는 것과 유사합니다. 빠른 일회성 수정에 사용할 수 있으며 전체 프로젝트 포맷팅에는 로컬 `.prettierrc`와 CLI 명령에 계속 의존할 수 있습니다.Pro Tips
리포지토리의 모든 YAML(Kubernetes, GitHub Actions, Docker Compose)을 동일한 들여쓰기 스타일로 정규화하여 diff와 리뷰를 훨씬 쉽게 만드세요.
`yes`, `no`, `on`, `off`, `0012`와 같은 값에 주의하세요 – 부울 값이나 8진수 형식의 숫자 대신 문자열로 처리되도록 따옴표로 묶어주세요.
이 온라인 포맷터를 사용하여 문서나 티켓용 코드 조각을 빠르게 정리한 후, 전체 프로젝트에서는 pre-commit 훅에서 `prettier`나 `yq`를 사용하세요.
대규모 설정 파일을 리팩토링할 때는 먼저 포맷팅하여 Git diff에서 의미적 변경사항이 들여쓰기 노이즈에 묻히지 않고 명확하게 드러나도록 하세요.
Additional Resources
Other Tools
- CSS 정리 도구
- HTML 정리 도구
- 자바스크립트 정리 도구
- PHP 정리 도구
- 색상 선택기
- 스프라이트 추출기
- Base64 디코더
- Base64 인코더
- C# 포맷터
- CSV 포맷터
- Dockerfile Formatter
- Elm 포맷터
- ENV 포맷터
- Go 포맷터
- GraphQL 포맷터
- HCL 포맷터
- INI 포맷터
- JSON 포맷터
- LaTeX 포맷터
- 마크다운 포맷터
- Objective-C 포맷터
- Php Formatter
- 프로토콜 버퍼 포맷터
- Python 포맷터
- Ruby 포맷터
- Rust 포맷터
- Scala 포맷터
- 셸 스크립트 포맷터
- SQL 포맷터
- SVG 포맷터
- Swift 포맷터
- TOML 포맷터
- Typescript Formatter
- XML 포맷터
- Yarn 포맷터
- CSS 압축기
- Html Minifier
- Javascript Minifier
- JSON 압축기
- XML 최소화 도구
- HTTP 헤더 뷰어
- PDF 텍스트 변환
- 정규식 테스터
- 검색 순위 확인기
- Whois 조회