.env File Parser
.env 파일 파싱/검증 및 JSON/YAML/TOML 변환
.env 파일을 여기에 드래그하거나
검증 결과
| # | 키 | 값 |
|---|---|---|
| 1 | # Application Configuration | |
| 2 | APP_NAME | MyApp |
| 3 | APP_ENV | production |
| 4 | APP_DEBUG | false |
| 5 | APP_PORT | 3000 |
| 7 | # Database | |
| 8 | DB_HOST | localhost |
| 9 | DB_PORT | 5432 |
| 10 | DB_NAME | my_database |
| 11 | DB_USER | admin |
| 12 | DB_PASSWORDSECRET | s3cret!pass |
| 14 | # API Keys | |
| 15 | API_KEYSECRET | sk-1234567890abcdef |
| 16 | API_SECRETSECRET | my-secret-key |
| 18 | # Features | |
| 19 | ENABLE_CACHE | true |
| 20 | MAX_RETRIES | 3 |
| 21 | LOG_LEVEL | info |
14개 변수, 4개 주석, 3개 경고
.env.example
# Application Configuration APP_NAME=your_value_here APP_ENV=your_value_here APP_DEBUG=your_value_here APP_PORT=your_value_here # Database DB_HOST=your_value_here DB_PORT=your_value_here DB_NAME=your_value_here DB_USER=your_value_here DB_PASSWORD=your_value_here # API Keys API_KEY=your_value_here API_SECRET=your_value_here # Features ENABLE_CACHE=your_value_here MAX_RETRIES=your_value_here LOG_LEVEL=your_value_here
{
"APP_NAME": "MyApp",
"APP_ENV": "production",
"APP_DEBUG": "false",
"APP_PORT": "3000",
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "my_database",
"DB_USER": "admin",
"DB_PASSWORD": "s3cret!pass",
"API_KEY": "sk-1234567890abcdef",
"API_SECRET": "my-secret-key",
"ENABLE_CACHE": "true",
"MAX_RETRIES": "3",
"LOG_LEVEL": "info"
}.env File Parser 소개
.env 파일 파서는 dotenv 형식의 내용(KEY=VALUE 쌍)을 읽어 각 변수의 키와 값을 보여주는 구조화된 테이블로 파싱합니다. 작은따옴표 및 큰따옴표로 감싼 값의 따옴표를 제거하고, " #"으로 시작하는 인라인 주석을 삭제하며, 디스플레이에서 주석 줄을 컨텍스트용으로 보존하고, 빈 줄과 잘못된 항목을 건너뜁니다. 파싱 결과는 입력하는 즉시 실시간으로 업데이트됩니다.
파싱 후 도구는 세 가지 형식으로 변수를 내보낼 수 있습니다: JSON(표준 JavaScript 객체 형식), YAML(Kubernetes, Helm, CI/CD 설정에 적합한 key: "value" 쌍), TOML(불리언과 숫자의 적절한 타입 감지가 있는 key = value 쌍). 이를 통해 .env 설정을 다른 설정 시스템으로 쉽게 마이그레이션하거나 .env 파일의 구문이 올바른지 검증할 수 있습니다.
이 도구는 애플리케이션 설정을 검사하는 백엔드 개발자, .env 파일을 Kubernetes 시크릿이나 ConfigMap으로 변환하는 DevOps 엔지니어, 환경 변수 정의를 검증하는 CI/CD 파이프라인 유지보수자, 프로젝트의 설정 구조를 이해해야 하는 신규 팀원 온보딩 개발자들이 사용합니다. 모든 파싱과 변환은 브라우저에서 완전히 이루어지며 민감한 API 키와 자격 증명은 절대 기기를 벗어나지 않습니다.
주요 기능
- 작은따옴표 및 큰따옴표 값을 지원하는 KEY=VALUE dotenv 형식 파싱
- 값에서 인라인 주석(" #" 이후 텍스트) 자동 제거
- 키-값 행과 시각적으로 구분하여 테이블에 주석 줄 표시
- 테이블 아래에 변수 수와 주석 수 요약 표시
- JSON(객체 형식), YAML(key: "value"), TOML(타입 추론이 있는 key = value)으로 내보내기
- 내보낸 출력 클립보드 원클릭 복사
- 100% 클라이언트 사이드 처리 — API 키와 시크릿이 브라우저 밖으로 나가지 않음
- 실시간 파싱 — .env 내용을 편집하면 테이블과 내보내기 출력이 즉시 업데이트
자주 묻는 질문
이 파서는 어떤 .env 구문을 지원하나요?
파서는 표준 dotenv 형식을 지원합니다: 한 줄에 하나씩 KEY=VALUE 쌍. 값은 따옴표 없음, 작은따옴표('value'), 큰따옴표("value") 모두 가능하며 감싸는 따옴표는 제거됩니다. 인라인 주석(" #" 이후 텍스트)은 값에서 제거됩니다. #으로 시작하는 줄은 주석으로 처리되어 테이블에 표시되지만 내보내기에는 포함되지 않습니다.
파서는 따옴표가 있는 값을 어떻게 처리하나요?
값이 같은 따옴표 문자(작은따옴표 또는 큰따옴표)로 시작하고 끝나면 감싸는 따옴표가 제거됩니다. 예를 들어 DB_PASSWORD="s3cret"은 파싱 후 DB_PASSWORD: s3cret이 됩니다. 이는 dotenv(Node.js)나 python-dotenv 같은 대부분의 dotenv 라이브러리의 동작과 동일합니다.
인라인 주석이란 무엇이며 어떻게 처리되나요?
인라인 주석은 값의 공백-해시(" #") 이후에 나타나는 텍스트입니다. 예를 들어 PORT=3000 # default port에서 파서는 " # default port"를 제거하고 "3000"만 유지합니다. 인라인 주석을 지원하는 대부분의 dotenv 파서의 동작과 동일합니다.
JSON, YAML, TOML 내보내기 형식의 차이는 무엇인가요?
JSON은 모든 변수를 JavaScript 객체로 내보냅니다: {"KEY": "value"}. YAML은 key: "value" 쌍으로 줄마다 내보내며 Kubernetes ConfigMap이나 GitHub Actions에 적합합니다. TOML은 타입 추론과 함께 key = value로 내보내며 불리언 값(true/false)과 숫자는 따옴표 없이, 문자열은 큰따옴표로 처리합니다.
.env 파일 검증에 사용할 수 있나요?
네. .env 내용을 붙여넣으면 어떤 줄이 변수로 파싱되었고 어떤 줄이 건너뛰어졌는지(= 부호 없음 또는 빈 줄) 정확하게 볼 수 있습니다. 변수 수는 유효한 KEY=VALUE 쌍이 몇 개 발견되었는지 보여줍니다. 예상한 변수가 테이블에 없다면 해당 줄의 구문 문제를 확인하세요.
.env 파일을 Kubernetes Secret이나 ConfigMap으로 변환하려면 어떻게 하나요?
.env 파일을 파싱하고 YAML 내보내기 형식으로 전환하세요. 출력을 Kubernetes ConfigMap의 data 섹션으로 사용할 수 있습니다. Secret의 경우 각 값을 추가로 base64 인코딩해야 합니다. 또는 터미널에서 kubectl create secret generic my-secret --from-env-file=.env를 직접 사용할 수도 있습니다.
API 키와 비밀번호를 이 도구에 붙여넣어도 안전한가요?
네. 모든 파싱은 브라우저 내 JavaScript로 완전히 이루어집니다. 어떤 내용도 서버로 전송되거나 기록되거나 데이터베이스에 저장되지 않습니다. API 키, 데이터베이스 비밀번호, 기타 자격 증명이 포함된 .env 파일을 붙여넣어도 안전합니다.
이 도구는 여러 줄 값을 처리하나요?
현재 파서는 줄 기반이며 여러 줄에 걸친 값(백슬래시 연속이나 따옴표 안의 줄 바꿈)을 지원하지 않습니다. 여러 줄 값의 경우 첫 번째 줄이 파싱되고 후속 연속 줄은 건너뛰거나 별도 항목으로 처리됩니다. 여러 줄 지원이 필요하다면 런타임 환경에서 전용 dotenv 라이브러리를 사용하는 것을 고려하세요.