마크다운 목차(TOC) 생성기
제목에서 중첩된 마크다운 목차를 만들고 GitHub 스타일 앵커 링크를 붙이며, 코드 블록 안의 제목은 건너뜁니다.
.md, .mdx, .txt 파일을 이 칸에 끌어다 놓아도 됩니다.
목차가 여기에 표시됩니다…
제목을 마크다운 목차로 변환
마크다운을 붙여넣으면 목차가 즉시 만들어집니다. 제목마다 한 줄씩, 앵커 링크가 달린 중첩 불릿 목록이 생성됩니다. #부터 ######까지의 ATX 제목, ===나 ---로 밑줄을 그은 Setext 제목, 한 줄짜리 HTML <h1>–<h6>를 읽어 수준(level)에 따라 들여쓰고, 각 항목을 기본적으로 GitHub 스타일 앵커로 연결합니다. 입력하는 즉시 출력이 갱신되므로, 완성된 목차를 README, 위키 문서, 문서 사이트 등 어떤 마크다운 문서에도 바로 넣고 클릭 한 번으로 복사할 수 있습니다. ‘파일 열기…’로 .md·.markdown·.mdx·.txt 파일을 불러오거나 입력 칸에 바로 끌어다 놓아도 됩니다.
정확한 앵커, 코드 블록은 제외
앵커 슬러그는 기본적으로 GitHub가 렌더링하는 방식과 동일하게 생성됩니다. 제목 텍스트를 소문자로 바꾸고, 문장 부호를 제거하며, 공백을 각각 하이픈 하나로 바꾸므로 ## What is JSON?은 #what-is-json으로 연결됩니다. 펜스 코드 블록(``` 또는 ~~~ 사이) 안의 제목은 무시하므로, 셸 스니펫의 # 주석이 제목으로 잘못 인식되지 않습니다. 들여쓰기는 문서에서 가장 얕은 제목을 기준으로 계산되므로, 최상위가 ##인 문서도 왼쪽에 딱 맞춰 시작합니다. 앵커 규칙 목록에서 GitLab 16 이하, dev.to, Hashnode의 규칙으로 바꿀 수 있고, 자체 id가 있는 HTML 제목은 그 id로 연결됩니다. 목록 모양에서 들여쓴 글머리표(기본값), 평평한 글머리표, 번호 매기기를 고를 수 있고, 제목 수준 범위·앵커 규칙·출력·목록 모양은 이 기기에 기억되며 옵션 초기화로 한 번에 되돌리고 저장한 설정 지우기로 지울 수 있습니다. ‘목차를 넣은 문서 미리 보기’를 켜면 문서가 목차와 함께 렌더링되고, 항목을 누르면 그 링크가 가리키는 제목으로 이동하므로 앵커가 제대로 걸리는지 바로 확인할 수 있습니다.
자주 묻는 질문
어떤 제목 수준이 포함되나요?
1수준(#)부터 6수준(######)까지의 ATX 제목은 물론, === 밑줄(1수준)이나 --- 밑줄(2수준)을 그은 Setext 제목과 한 줄짜리 HTML <h1>–<h6>도 인식합니다. 시작 제목 수준과 끝 제목 수준으로 범위를 좁힐 수 있습니다. 각 항목은 문서에서 가장 얕은 제목을 기준으로 깊이에 따라 들여써져 깔끔한 중첩 목록이 만들어집니다.
앵커 링크는 어떻게 만들어지나요?
제목 텍스트를 소문자로 바꾸고, 문장 부호를 제거하며, 남은 공백을 각각 하이픈 하나로 바꿉니다. 연속된 공백은 하나로 합쳐지지 않으므로 하이픈도 그 수만큼 이어집니다. 기본값인 GitHub의 슬러그 방식이며, 다른 플랫폼의 규칙은 앵커 규칙 목록에서 고를 수 있습니다. 영어가 아닌 문자를 포함해 글자와 숫자는 그대로 유지됩니다.
목차를 README 안에 바로 넣을 수 있나요?
네. 출력을 목차를 넣은 문서로 바꾸면 복사와 내려받기가 목차가 들어간 문서 전체를 줍니다. 목차는 [TOC] 줄이나 <!-- toc --> 주석이 있는 자리에, 없으면 문서의 H1 제목 바로 아래(제목도 없으면 맨 위)에 들어갑니다. 목록은 <!-- toc -->와 <!-- tocstop --> 주석 사이에 쓰이므로, 제목을 고친 뒤 문서를 다시 넣으면 두 주석 사이의 목록만 바뀌고 목차가 두 번 들어가지 않습니다.
링크가 제대로 된 제목으로 가는지 확인할 수 있나요?
네. ‘목차를 넣은 문서 미리 보기’를 켜면 목차 아래에 문서가 렌더링되고, 항목을 누르면 목차가 붙인 것과 같은 앵커로 그 제목까지 미리 보기가 스크롤됩니다. Setext 제목과 한 줄짜리 HTML 제목도 마찬가지입니다. 미리 보기는 켜기 전까지 꺼져 있습니다.
붙여 넣는 대신 마크다운 파일을 열거나 끌어다 놓을 수 있나요?
네. ‘파일 열기…’는 .md·.markdown·.mdx·.txt 파일을 읽고, 같은 종류의 파일을 마크다운 입력 칸에 바로 끌어다 놓아도 같은 크기 한도와 인코딩 확인을 거쳐 들어갑니다. 파일 이름도 기억해서, ‘다운로드’는 notes.md를 열었다면 notes-toc.md를, 출력이 ‘목차를 넣은 문서’일 때는 목차를 넣은 notes.md를 줍니다. 마크다운이나 텍스트 파일이 아니면 그렇다고 알려 주며 받지 않습니다.