.env ↔ JSON 변환
.env 설정과 문자열 값으로만 된 평면 JSON 객체를 양방향 변환합니다.
.env 파일의 KEY=VALUE 줄을 JSON 객체로 바꾸거나, 문자열 값만 가진 JSON 객체를 .env 형식으로 바꿉니다.
사용 순서
- 변환 방향(.env에서 JSON, 또는 JSON에서 .env)을 고릅니다.
- 유효한 변수 이름으로 된 .env 내용이나 문자열 값만 가진 JSON 객체를 붙여 넣습니다.
- 중복 키나 따옴표 오류 메시지가 있으면 해당 줄을 고칩니다.
- 결과를 복사해 설정 파일이나 배포 도구에 옮깁니다.
예시
export APP_NAME="IT Box"와 PORT=3000 두 줄은 {"APP_NAME": "IT Box", "PORT": "3000"}이 됩니다. PORT 값은 숫자가 아니라 "3000" 문자열입니다.
한계
한 줄에 변수 하나만 지원하므로 여러 줄에 걸친 값은 읽지 못합니다. # 주석, export 접두사, 작은따옴표와 큰따옴표를 지원하며, 큰따옴표 안의 줄바꿈·탭·유니코드 이스케이프는 복원합니다. 변수 확장이나 명령 치환은 실행하지 않습니다. 같은 키가 두 번 나오면 오류이며, JSON에서 .env로 바꿀 때는 모든 값이 문자열이어야 합니다. 입력은 2 MiB까지 받습니다.
보안 주의
따옴표 없는 값에서는 공백 뒤의 #부터 주석으로 봅니다. PASSWORD=abc #123은 abc가 되지만 PASSWORD=abc#123은 abc#123 그대로 읽습니다. 다른 로더는 #을 다르게 해석할 수 있으므로, 비밀 값에 #이 들어 있으면 반드시 큰따옴표로 감싸야 합니다. 운영 .env 전체를 붙여 넣지 말고, 결과가 짧아 보이면 값이 잘렸는지 먼저 확인하세요.
배경 지식
.env 파일은 환경 변수를 한 줄에 하나씩 적는 간단한 형식이며, 애플리케이션 설정을 코드 밖에 두려고 쓰입니다. 셸이 이 파일을 그대로 실행하지는 않으므로, 도구마다 따옴표와 주석을 해석하는 규칙이 조금씩 다릅니다. 같은 파일도 라이브러리에 따라 다른 값으로 읽힐 수 있습니다.
환경 변수 값은 항상 문자열입니다. PORT=3000을 JSON으로 옮기면 "3000"으로 남고, 숫자로 쓰려면 애플리케이션에서 변환해야 합니다. 반대로 JSON에서 .env로 옮길 때는 $와 백틱을 이스케이프해서 셸이 값을 확장하지 않도록 합니다. 생성된 파일은 대부분 애플리케이션 로더가 읽으므로, 로더가 큰따옴표 이스케이프를 해석하는지 먼저 확인하세요.
자주 묻는 질문
따옴표 안의 값에 실제 줄바꿈이 들어 있으면 어떻게 하나요?
실제 줄바꿈으로 된 여러 줄 값은 지원하지 않아 오류가 납니다. 큰따옴표 안에 \n 형태로 이스케이프된 값만 줄바꿈 문자로 복원됩니다. 여러 줄 인증서처럼 긴 값은 이스케이프한 한 줄로 바꿔서 넣으세요.
.env를 JSON으로 바꾸면 민감한 값이 어디에 남나요?
변환은 브라우저 안에서만 이뤄지고 입력값이 서버로 보내지지 않습니다. 다만 결과 JSON을 복사해 채팅이나 문서에 붙이면 값이 그대로 남으므로, 공유할 때는 값 부분을 더미 값으로 바꾸세요.
같은 키를 두 번 적으면 어떻게 되나요?
뒤의 값으로 덮어쓰지 않고 중복 오류를 냅니다. 여러 파일을 이어 붙일 때 생기는 실수를 잡기 위한 동작이므로, 의도적으로 바꾸려면 앞쪽 줄을 지운 뒤 다시 변환하세요.