필요한 툴을, 바로 쓸 수 있게

HTML Markdown 변환기

HTML 칸에 코드를 붙여 넣거나 웹 페이지·구글 문서에서 복사한 글을 그대로 붙여 넣으면 Markdown 칸에 바로 결과가 나옵니다. 제목·목록·강조 기호와 코드 블록, 링크 방식, 표 형식을 고를 수 있고, 아래 구조 지도와 변환 기록에서 문서가 어떤 블록으로 옮겨졌는지, 무엇이 빠지거나 다르게 적혔는지 확인할 수 있습니다.

최종 수정 2026-10-22계산은 브라우저 안에서만 처리
예시

Markdown

Markdown 모양
제목
목록
강조
코드
링크
표

구조 지도띠를 누르면 결과에서 그 부분을 고릅니다

    크기 HTML Markdown

    변환 기록빠지거나 다르게 적은 곳

      최종 수정 2026-10-22입력값은 저장하지 않습니다

      ROBERIN 기준필요한 툴을,
      바로 쓸 수 있게.
      • 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
      • 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
      • 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.

      HTML을 GFM Markdown으로 옮기고, 빠진 곳까지 보여 줍니다

      HTML Markdown 변환기는 HTML의 제목·문단·목록·표·코드·링크를 GitHub Flavored Markdown(GFM) 문법으로 바꾸는 도구입니다. <h2>는 ##로, <strong>은 **로, 링크는 [글자](주소)로, 표는 |로 칸을 나눈 Markdown 표로 바뀝니다. 태그를 지워 글자만 남기는 것이 아니라 문서의 뼈대를 그대로 옮기므로, 결과를 GitHub README나 Markdown을 쓰는 메모 앱에 바로 붙여 넣을 수 있습니다.

      HTML 코드를 붙여 넣어도 되고, 웹 페이지나 구글 문서에서 복사한 글을 그대로 붙여 넣어도 됩니다. 화면에서 복사한 글은 브라우저가 함께 넘겨주는 HTML 서식으로 받아 변환합니다. 결과 아래에는 문서가 어떤 블록 순서로 옮겨졌는지 보여 주는 구조 지도와, 병합 셀·상대 주소·삽입 영상처럼 Markdown에 그대로 담지 못해 빼거나 다르게 적은 곳을 모은 변환 기록이 나옵니다.

      HTML을 Markdown으로 바꾸는 상황

      • 블로그·CMS 글을 다른 곳으로 옮길 때: 워드프레스 같은 CMS의 글은 HTML로 저장되어 있습니다. 정적 사이트 생성기나 Markdown 기반 메모 앱으로 옮기려면 제목·목록·링크를 다시 입력하지 않고 Markdown으로 바꾸는 편이 빠릅니다.
      • 웹 문서를 README나 개발 문서로 정리할 때: 설치 방법이 적힌 웹 페이지를 복사해 붙이면 코드 블록의 언어 표시(language-bash)와 할 일 체크 상자까지 GFM 문법으로 옮겨집니다.
      • 구글 문서·회의록을 Markdown 노트로 옮길 때: 문서 편집기에서 복사한 글은 굵게·기울임을 태그가 아니라 style 값으로 적는 경우가 많습니다. 이 변환기는 그 값을 읽어 **굵게**와 *기울임*으로 옮깁니다.
      • AI 도구나 메모에 웹 글을 짧게 넣을 때: class·style 같은 꾸밈 속성과 스크립트를 걷어 내면 같은 내용이 훨씬 짧아집니다. 위 예시의 '문서 편집기에서 복사'는 1,085바이트가 258바이트로, '뉴스레터 메일'은 1,033바이트가 390바이트로 줄었습니다.
      • 뉴스레터·메일을 보관할 때: 메일 HTML은 칸 나누기용 표와 열람 확인용 1×1 그림이 많습니다. 배치용 표는 풀어서 글로 옮기고 추적 그림은 빼므로 읽을 수 있는 문서만 남습니다.

      쓰는 법

      1. HTML 넣기: HTML 칸에 코드를 붙여 넣거나, 웹 페이지에서 원하는 부분을 선택해 복사(Ctrl+C)한 뒤 붙여 넣습니다. HTML·HTM 파일은 '파일 열기'로 고르거나 칸에 끌어다 놓습니다. 예시가 그대로 있을 때 붙여 넣으면 예시를 통째로 바꿉니다.
      2. 붙여 넣은 형식 확인: 화면에서 복사한 글은 HTML 서식으로, 코드 편집기에서 복사한 HTML 코드는 글자 그대로 들어갑니다. 원하는 쪽이 아니면 상태 줄의 '글자만 붙이기'나 '화면 서식으로 붙이기'를 누릅니다.
      3. Markdown 모양 고르기: 제목 기호(# 또는 밑줄), 목록 기호(- * +), 강조 기호, 코드 블록 울타리, 링크 방식, 표 형식을 고릅니다. 바꾸는 즉시 결과가 다시 적힙니다.
      4. 기준 주소 넣기: /images/a.jpg 같은 상대 주소가 있으면 원래 페이지 주소를 기준 주소 칸에 넣어 전체 주소로 바꿉니다. HTML 안에 base·canonical·og:url이 있으면 자동으로 들어갑니다.
      5. 확인하고 가져가기: 미리 보기에서 모양을 보고, 구조 지도의 띠를 눌러 결과의 해당 부분으로 이동하며, 변환 기록을 읽습니다. 'Markdown 복사'나 '.md 저장'으로 가져갑니다. 결과 칸에서 Ctrl+Enter(⌘Enter)를 눌러도 복사됩니다.

      태그별로 이렇게 바뀝니다

      기본 설정(제목 #, 목록 -, 강조 *, 코드 ```, 링크 문장 안, Markdown 표)에서 이 도구가 실제로 내놓는 결과입니다.

      HTMLMarkdown설명
      <h2>설치</h2>## 설치h1~h6은 # 1~6개입니다. 밑줄 방식은 1·2단계에만 쓰입니다.
      <strong>굵게</strong> <em>기울임</em>**굵게** *기울임*b·i 태그와 style의 font-weight 600 이상, font-style:italic도 같습니다.
      <del>취소</del>~~취소~~GFM 취소선입니다. s·strike 태그와 line-through도 같습니다.
      <code>npm i</code>`npm i`코드 안에 백틱이 있으면 더 긴 백틱으로 감쌉니다.
      <a href="https://example.com">예시</a>[예시](https://example.com)글자와 주소가 같으면 <https://…>로 줄여 적습니다.
      <img src="a.png" alt="그림">![그림](a.png)그림 파일은 들어가지 않고 주소만 남습니다.
      <ul><li>사과</li><li>배</li></ul>- 사과
      - 배
      하위 목록은 앞 기호 너비만큼 들여씁니다.
      <ol start="3"><li>셋째</li></ol>3. 셋째start 번호를 이어받습니다.
      <li><input type="checkbox" checked> 완료</li>- [x] 완료목록 앞머리의 체크 상자는 GFM 할 일 목록이 됩니다.
      <blockquote>인용</blockquote>> 인용안쪽의 목록·코드도 줄마다 >를 붙입니다.
      <pre><code class="language-js">```js … ```language-·lang- 클래스에서 언어 이름을 가져옵니다.
      첫 줄<br>둘째 줄첫 줄␣␣
      둘째 줄
      줄 끝 공백 두 칸이 줄바꿈입니다. 표 칸 안에서는 <br>로 둡니다.
      H<sub>2</sub>OH<sub>2</sub>OGFM에 기호가 없는 sup·sub·kbd·mark·u는 태그로 둡니다.
      <hr>---구분선입니다.

      한국어 문서에서 Markdown이 깨지는 네 자리

      Markdown 기호는 앞뒤 글자에 따라 먹기도 하고 먹지 않기도 합니다. 한국어는 낱말 바로 뒤에 조사가 붙고 범위를 물결표로 쓰며 날짜를 '2026. 10. 22.'처럼 적기 때문에, 기호를 단순하게 바꾸기만 하면 아래처럼 깨집니다. '그대로 적으면' 칸은 CommonMark 0.31.2 구현(markdown-it)과 GFM 구현(marked)으로 렌더해 확인한 결과입니다.

      원문기호만 바꿔 적으면이 변환기
      "인용"은 여기**"인용"**은 → 별표가 그대로 보입니다. 닫는 ** 앞이 문장부호이고 뒤가 글자(조사)라서 강조를 닫지 못합니다.<strong>"인용"</strong>은
      10~20명과 30~40명10~20명과 30~40명 → GFM에서 '20명과 30'이 취소선이 됩니다. GFM은 물결표 하나로 감싼 글도 취소선으로 읽습니다.10\~20명과 30\~40명
      2026. 10. 22. 회의록2026. 10. 22. 회의록 → 2026번, 10번, 22번으로 시작하는 번호 목록이 세 겹으로 생깁니다.2026\. 10. 22. 회의록
      [공지](필독) 안내[공지](필독) → '공지'가 '필독'이라는 주소로 가는 링크가 됩니다.[공지\](필독) 안내

      반대로 꼭 필요하지 않은 역슬래시는 붙이지 않습니다. snake_case처럼 낱말 안의 밑줄은 강조가 되지 않으므로 그대로 두고, C#처럼 줄 머리가 아닌 #도 그대로 둡니다. 강조 기호를 _로 고른 경우에는 '__중요__합니다'처럼 낱말 안에서 먹지 않는 자리만 **로 바꿔 적습니다.

      웹 화면과 구글 문서에서 붙여 넣을 때

      브라우저에서 글을 복사하면 클립보드에는 보이는 글자(text/plain)와 화면 서식(text/html)이 함께 담깁니다. 이 변환기는 붙여 넣기 순간 두 가지를 모두 읽고, 글자 쪽에 태그가 보이면 HTML 코드를 복사한 것으로, 태그가 없으면 화면을 복사한 것으로 판단합니다. 그래서 웹 페이지를 드래그해 복사하면 그 부분의 HTML이 들어오고, 코드 편집기에서 HTML 코드를 복사하면 편집기의 색칠 서식이 아니라 코드 글자가 들어옵니다.

      구글 문서는 복사한 범위 전체를 <b style="font-weight:normal" id="docs-internal-guid-…">로 감싸고, 실제 굵게와 기울임은 span의 font-weight:700·font-style:italic으로 적습니다. 감싼 b 태그를 그대로 굵게로 읽으면 붙여 넣은 글 전체가 **…**로 묶이는 문제가 여러 편집기에서 보고되었습니다. 이 변환기는 font-weight:normal인 b 태그를 굵게로 보지 않고, 안쪽 span의 style 값으로 굵게·기울임·취소선·위첨자를 옮깁니다. 위 예시 '문서 편집기에서 복사'가 그런 HTML입니다.

      표를 옮길 때 알아 둘 것

      GFM 표는 첫 줄이 머리글이고, 둘째 줄에 ---로 된 구분 줄이 와야 합니다. 구분 줄의 콜론 위치가 정렬입니다: :---는 왼쪽, ---:는 오른쪽, :---:는 가운데입니다. 이 변환기는 HTML의 align 속성이나 style의 text-align에서 정렬을 가져오고, 한글을 두 칸으로 세어 원문 Markdown에서도 열이 맞도록 빈칸을 채웁니다(한 열이 40칸을 넘으면 채우지 않습니다).

      • 칸 안의 |: 칸 경계와 헷갈리지 않도록 \|로 적습니다. GFM 명세에 따라 코드나 링크 안의 |도 똑같이 적어야 합니다.
      • 칸 안의 여러 줄: GFM 표 칸에는 문단·목록 같은 블록을 넣을 수 없어 줄을 <br>로 잇습니다.
      • 병합 셀: Markdown 표는 셀을 합칠 수 없습니다. 기본값은 합쳐진 자리를 빈 칸으로 펼치고, 표 설정을 HTML로 바꾸면 class·style을 걷어 낸 HTML 표를 rowspan·colspan과 함께 그대로 둡니다.
      • 머리글 없는 표: 머리글 줄은 꼭 있어야 하므로 첫 줄을 머리글로 씁니다. 변환 기록에 개수가 나옵니다.
      • 배치용 표: role="presentation"이 붙었거나, 표 안에 표가 있거나, 열이 하나뿐인 표는 데이터가 아니라 칸 나누기용으로 보고 칸의 내용을 차례로 풀어 글로 옮깁니다. 메일 HTML에서 흔합니다.

      Markdown 모양 고르는 기준

      설정값고를 때
      제목# 제목 / 밑줄밑줄(===, ---)은 1·2단계에만 쓸 수 있어 3단계부터는 #로 적습니다. 대부분의 문서는 # 방식이 읽고 고치기 쉽습니다.
      목록- * +결과는 같습니다. 같은 기호의 목록 둘이 이어지면 하나로 합쳐지므로 그 사이에 <!-- -->를 넣어 나눕니다.
      강조* / __는 낱말 안에서 먹지 않아 조사가 붙는 한국어에는 *가 맞습니다. _를 골라도 먹지 않는 자리는 *로 적습니다.
      코드``` / ~~~ / 들여쓰기울타리 방식만 언어 이름(```js)을 남깁니다. 코드에 같은 울타리가 있으면 한 글자 더 긴 울타리를 씁니다.
      링크문장 안 / 아래 모음주소가 긴 글은 '아래 모음'이 읽기 쉽습니다. 문장에는 [글자][1], 문서 끝에는 [1]: 주소가 붙고 주소와 title이 모두 같은 링크는 번호를 함께 씁니다.
      표Markdown / HTML병합 셀이 있거나 칸에 긴 목록이 있는 표는 HTML이 모양을 지킵니다. HTML을 지우는 편집기에 넣을 때는 Markdown을 고릅니다.

      Markdown은 얼마나 가벼워지나

      같은 내용이라도 꾸밈 속성과 스크립트, 배치용 표를 걷어 내면 크기가 크게 줄어듭니다. 아래는 이 도구의 예시를 열었을 때 크기 막대에 나오는 값(UTF-8 바이트)입니다. style 값이 많은 문서 편집기 HTML과 메일 HTML이 가장 많이 줄었습니다.

      예시HTMLMarkdown줄어든 비율
      블로그 글863 B585 B32%
      표·병합 셀718 B412 B43%
      개발 문서821 B537 B35%
      문서 편집기에서 복사1,085 B258 B76%
      뉴스레터 메일1,033 B390 B62%

      자주 틀리는 경우

      • 페이지 소스 전체를 넣고 메뉴까지 옮겨지는 경우: 소스 보기 코드에는 상단 메뉴·바닥글 링크도 들어 있습니다. 본문만 필요하면 화면에서 본문 부분만 선택해 복사한 뒤 붙여 넣으세요.
      • 상대 주소를 그대로 둔 채 다른 곳에 올리는 경우: /uploads/a.jpg는 원래 사이트에서만 열립니다. 기준 주소를 넣어 전체 주소로 바꾸세요.
      • 미리 보기에서 그림이 보이지 않는다고 오해하는 경우: 미리 보기는 개인 정보와 속도를 위해 그림을 불러오지 않고 '그림' 표시와 대체 텍스트만 보여 줍니다. 결과의 ![설명](주소)는 정상입니다.
      • Markdown 표의 빈 칸을 빠진 값으로 착각하는 경우: 병합 셀을 펼친 자리일 수 있습니다. 변환 기록에 '병합 셀'이 있으면 원본 표와 비교하거나 표를 HTML로 두세요.
      • 줄 끝 공백 두 칸을 지우는 경우: 줄바꿈(br)은 줄 끝 공백 두 칸으로 적습니다. 저장할 때 줄 끝 공백을 자동으로 지우는 편집기를 쓰면 줄바꿈이 사라집니다.
      • HTML 태그를 받지 않는 곳에 붙이는 경우: 위첨자·키보드·접기와 HTML 표, 조사 앞 굵게는 태그로 적습니다. HTML을 지우는 편집기라면 그 자리의 글자는 남지만 꾸밈이 빠집니다.

      한계

      • Markdown은 문서 구조를 적는 형식이라 CSS의 색·글꼴·여백·배치는 옮기지 않습니다.
      • 웹 주소(URL)를 넣어 페이지를 가져오지 않습니다. 로그인 뒤에만 보이거나 스크립트가 나중에 채우는 내용은 화면에서 복사해 붙여 넣어야 합니다.
      • 그림·영상 파일은 .md에 들어가지 않고 주소만 남습니다. data: 주소로 글 속에 넣은 그림은 결과가 지나치게 길어져 뺍니다.
      • iframe·video·audio는 주소 링크로만 남고, 양식(입력 칸·버튼)과 SVG 그림은 옮기지 않습니다.
      • 워드 프로세서가 목록을 글머리 글자가 붙은 문단으로 적은 HTML은 목록이 아니라 문단으로 옮겨질 수 있습니다.
      • 입력은 2 MB까지 읽습니다. 결과가 GitHub에서 어떻게 보이는지는 GFM 명세 기준이며, 편집기마다 HTML 태그 처리와 줄바꿈 표시는 다를 수 있습니다.

      출처

      기준: Markdown 문법은 GFM 0.29-gfm 명세와 CommonMark 0.31.2 명세, 브라우저 동작은 MDN 문서를 2026년 10월 22일에 확인했습니다. 한국어 표의 렌더 결과는 markdown-it(CommonMark)과 marked(GFM)로, 위 표의 Markdown은 이 도구의 출력으로 확인했습니다.

      자주 묻는 질문

      HTML 태그 제거기와 무엇이 다른가요?

      태그 제거기는 글자만 남깁니다. 이 변환기는 h2를 ##로, strong을 **로, 링크를 [글자](주소)로, 표를 | 로 나눈 Markdown 표로 바꿔 문서 구조를 남깁니다. 결과는 GitHub README나 Markdown을 쓰는 메모 앱에 그대로 붙여 넣을 수 있습니다.

      웹 페이지 주소(URL)를 넣어 바로 변환할 수 있나요?

      아니요. 이 도구는 서버를 거치지 않아 다른 사이트의 HTML을 가져오지 않습니다. 페이지에서 원하는 부분을 선택해 복사한 뒤 HTML 칸에 붙여 넣으면 화면 서식이 HTML로 들어옵니다. 페이지 전체가 필요하면 브라우저의 페이지 소스 보기(Ctrl+U)에서 코드를 복사해 넣으세요.

      구글 문서에서 복사한 글이 전부 굵게 바뀌지 않나요?

      바뀌지 않습니다. 구글 문서는 복사한 범위 전체를 font-weight:normal인 b 태그로 감싸고, 실제 굵게·기울임은 span의 style 값(font-weight:700, font-style:italic)으로 적습니다. 이 변환기는 감싼 태그를 굵게로 보지 않고 style 값을 읽어 굵게·기울임·취소선을 옮깁니다.

      굵게 바꾼 자리에 <strong> 태그가 남는 이유는 무엇인가요?

      CommonMark 규칙에서 닫는 ** 바로 앞이 문장부호이고 바로 뒤가 글자이면 강조로 읽지 않습니다. **"인용"**은, **(참고)**를처럼 한국어에서 자주 생기는 경우입니다. 이런 자리는 <strong>"인용"</strong>은처럼 태그로 적어야 GitHub 등에서 굵게 보입니다.

      10~15처럼 쓴 물결표 앞에 \가 붙는 이유는 무엇인가요?

      GFM은 물결표 하나로 감싼 글도 취소선으로 읽습니다(명세 예시 491). '10~15 km, 20~30 km'처럼 물결표가 둘이면 그 사이가 지워진 글처럼 보일 수 있어 \~로 적습니다. 화면에는 ~로 보입니다.

      병합 셀(rowspan·colspan)이 있는 표는 어떻게 옮기나요?

      Markdown 표는 셀을 합칠 수 없어 기본값은 합쳐진 자리를 빈 칸으로 펼칩니다. 모양을 지키려면 표 설정을 HTML로 바꾸세요. class·style을 걷어 낸 HTML 표를 그대로 두므로, HTML을 허용하는 GitHub README 같은 곳에서는 병합 셀까지 그대로 보입니다.

      상대 주소(/images/a.jpg)는 어떻게 바꾸나요?

      기준 주소 칸에 원래 페이지 주소를 넣으면 https://…/images/a.jpg 같은 전체 주소로 바꿉니다. HTML 안에 base, canonical, og:url 주소가 있으면 그 주소를 자동으로 넣습니다. 기준 주소가 없으면 상대 주소를 그대로 두고 변환 기록에 개수를 적습니다.

      입력한 HTML이 서버로 전송되거나 저장되나요?

      아니요. 붙여 넣기, 파일 읽기, 변환, 미리 보기를 모두 브라우저 안에서 처리하고, 주소창이나 브라우저 저장소에도 남기지 않습니다. 입력한 HTML의 스크립트는 실행하지 않으며, 미리 보기는 그림을 불러오지 않고 대체 텍스트만 보여 줍니다.