JSON 정리·Base64·URL 변환 원리
이 개발자 도구는 복사한 데이터나 문자열을 별도 프로그램 없이 확인해야 할 때 사용하는 브라우저 기반 유틸리티입니다. 입력한 원문과 변환 결과는 생활계산소 서버나 데이터베이스로 전송되지 않으며 현재 탭의 JavaScript에서만 처리됩니다. localStorage에는 마지막으로 선택한 작업, JSON 들여쓰기 폭, URL 처리 범위만 사용자 설정으로 저장합니다. API 응답, 토큰, 개인정보처럼 민감한 문자열은 페이지를 닫기 전에 결과를 필요한 곳에 옮기고, 화면 공유나 클립보드 기록을 남기는 다른 프로그램이 실행 중인지도 확인하세요.
JSON 정리(Beautify)는 JSON.parse로 문법을 해석한 다음 JSON.stringify로 다시 출력합니다. 중괄호와 대괄호의 계층에 따라 공백 2칸, 4칸 또는 탭을 넣기 때문에 한 줄로 긴 응답도 구조를 읽기 쉬워집니다. JSON 압축(Minify)은 같은 값을 불필요한 줄바꿈과 들여쓰기 없이 한 줄로 만듭니다. 두 작업 모두 작은따옴표, 주석, 마지막 쉼표를 허용하지 않는 표준 JSON 문법을 따릅니다. 객체 안에 같은 키가 반복되면 JavaScript가 마지막 값을 남길 수 있으므로 중복 키가 의심되는 원본은 변환 전에도 확인해야 합니다. 정리 기능은 데이터의 의미나 키 순서를 검증하는 스키마 검사기가 아니라 문법 확인과 표시 형식 변경 도구입니다.
Base64 인코딩은 문자열을 UTF-8 바이트로 바꾼 뒤 6비트 단위의 영문·숫자 기호 문자열로 표현합니다. 따라서 한글과 일반 이모지도 브라우저의 UTF-8 변환을 거쳐 처리됩니다. Base64는 데이터를 암호화하거나 비밀로 만드는 기술이 아니며 누구나 다시 디코딩할 수 있습니다. 이메일 본문, data URI, 테스트 데이터처럼 이진 데이터를 텍스트 환경에 옮길 때 쓰지만 결과 길이는 대체로 원본 바이트보다 약 33% 늘어납니다. 디코딩 시 공백과 줄바꿈은 제거하고 형식을 확인한 뒤 UTF-8 텍스트로 해석하며, 다른 문자 인코딩으로 만든 Base64는 올바른 문장으로 복원되지 않을 수 있습니다.
URL 인코딩은 공백, 한글과 예약 문자를 퍼센트 기호와 UTF-8 16진수로 바꿉니다. ‘일부 문자열’은 encodeURIComponent와 decodeURIComponent를 사용해 검색어, 쿼리 파라미터 값처럼 주소 구성 요소 하나를 처리합니다. 이 방식에서는 &, =, ?도 데이터로 보고 인코딩합니다. ‘전체 URL 구조 유지’는 encodeURI와 decodeURI를 사용해 https://, 경로 구분자, 쿼리 구분 기호를 남기므로 완성된 주소 전체에 적합합니다. 이미 인코딩된 값을 다시 인코딩하면 %가 %25로 바뀌는 이중 인코딩이 생길 수 있으며, 잘못된 % 조합은 디코딩 오류가 납니다.
기능별 사용 방법
JSON Beautify와 압축
JSON을 붙여 넣고 들여쓰기 폭을 선택해 실행합니다. 정리는 계층을 여러 줄로 보여주고 압축은 공백 없는 한 줄로 만듭니다. 오류가 표시되면 따옴표, 쉼표와 괄호의 짝을 먼저 확인하세요.
UTF-8 Base64 변환
한글·영문 원문을 인코딩하거나 Base64 문자열을 디코딩합니다. 결과는 복사할 수 있지만 보안 기능은 아니므로 비밀번호와 인증 키를 공개 채널에 공유하면 안 됩니다.
URL 문자열 변환
검색어 하나는 ‘일부 문자열’, https://로 시작하는 완성 주소는 ‘전체 URL 구조 유지’를 선택합니다. 변환 후 목적 서비스가 요구하는 인코딩 범위와 일치하는지 확인하세요.
구체적인 상황으로 이해하는 활용 예시
다음 세 상황은 도구의 처리 과정과 결과 해석을 설명하기 위한 가상 예시입니다. 입력 조건을 바꾸면 결과도 달라지므로 자신의 조건과 비교해 확인하세요.
1. JSON의 줄바꿈과 값 구분
입력 {"count":2,"active":true}를 JSON 정리로 실행하면 두 속성이 들여쓰기를 갖춘 여러 줄로 배치됩니다. count의 숫자 2와 active의 불리언 true는 유지됩니다. count를 "2"처럼 따옴표로 감싸면 문자열이 되므로 포매터가 같은 의미로 고쳐 줄 것이라고 기대해서는 안 됩니다.
2. 짧은 영문을 Base64로 변환
일반 문자열 hello를 인코딩하면 aGVsbG8=가 됩니다. UTF-8 바이트를 Base64 문자로 나타낸 것이며 암호화가 아니므로 누구나 디코딩해 hello를 얻을 수 있습니다. 원문 5바이트와 결과 8문자는 크기도 다르며 비밀번호나 비밀키를 감추는 수단으로 사용하지 마세요.
3. 주소 일부에 들어갈 공백 인코딩
URL 일부 인코딩에 a b를 입력하면 a%20b가 됩니다. 공백 하나를 퍼센트 표기로 바꾼 결과이며 검색어 한 개의 값에 사용할 수 있습니다. 이미 인코딩한 a%20b를 다시 인코딩하면 %가 또 변환되어 a%2520b가 될 수 있으므로 원문과 인코딩 완료 값을 구분해 처리하세요.