본문으로 건너뛰기
yutils
예시

입력 (INI)

[database]
host = localhost
port = 5432

[user]
name = yutils
admin = true

출력 (JSON)

{
  "database": {
    "host": "localhost",
    "port": "5432"
  },
  "user": {
    "name": "yutils",
    "admin": "true"
  }
}

참고

`[section]` 헤더 + `key = value` 라인. 값은 기본 문자열로 보존 — INI 스펙상 타입 개념이 없습니다.

사용법 / 자주 묻는 질문

이런 경우 사용하세요

  • git config · php.ini · my.cnf 같은 legacy 설정의 빠른 inspection
  • Windows .ini 설정을 JSON 으로 변환해 코드에서 사용
  • AWS credentials 같은 ini 포맷 디버깅
  • 라즈베리파이 · 임베디드 시스템 conf 파일 정리
  • INI 문법 학습 — 섹션 · 키 매핑 시각화

자주 묻는 질문

Q.값의 따옴표는 어떻게 처리되나요?
A.INI 는 표준화가 약해 도구마다 다르지만, 이 도구는 따옴표를 제거하고 내부 문자열만 보존합니다. 즉 `name = "yutils"` → `"yutils"`.
Q.주석은 보존되나요?
A.`#` · `;` 로 시작하는 라인은 주석으로 인식되어 제거됩니다. JSON 출력에는 포함되지 않습니다.
Q.중첩 섹션도 지원되나요?
A.INI 표준에는 중첩이 없지만 `[a.b]` 같은 점 표기를 쓰면 `{"a": {"b": ...}}` 로 펼치는 도구도 있습니다. 본 도구는 평탄한 한 단계만 지원.
재미있는 사실
  • INI 파일은 Windows 3.0 (1990) 이 시스템 설정 (`win.ini`, `system.ini`, `boot.ini`) 에 사용하며 사실상 표준으로 굳어진 형식입니다. 'INI' 는 'Initialization' 의 약자 — Microsoft 자체 발명이 아니라 DOS 시대부터 쓰던 비공식 컨벤션을 OS 차원에서 채택.

    Wikipedia — INI file
  • INI 는 공식 표준 명세가 없습니다 — JSON 의 RFC 8259, YAML 의 1.2 spec 처럼 명확한 문서가 없어 각 parser 가 미세하게 다른 dialect 를 만들어왔어요. 주석 (`;` vs `#`), 키 quoting, 값의 escape — 이 모든 게 라이브러리 따라 다름.

    Wikipedia — INI format
  • Windows 95 부터 INI 는 점차 Registry 로 대체됐지만 (`Set/GetPrivateProfileString` API 는 deprecated 안 됨), 2020년대에도 PHP `php.ini`, Git `.gitconfig` (INI variant), Python `setup.cfg` 등이 INI 를 그대로 사용 — '죽지 않는 80년대 형식'.

    MSDN — Profile API