Markdown Formatter

Normalize full-width→half-width, fix spacing. HackMD-compatible.

About this tool

This tool formats Markdown in one click. Three features: 1) Normalize full-width # to half-width, ##text to ## text, 2) Fix header and list spacing, 3) Preserves code blocks. HackMD-compatible. No data sent to server.

Tool interface

Input
Formatted

Formatting rules

  • Full→half: #→#, -→-, 0-9→0-9, []→[], ()→() etc.
  • Headers: ##text## text
  • Lists: -item- item, 1.item1. item
  • Blockquotes: >text> text, さらに> 引用さらに > 引用
  • List indent: Leading full-width space → 2 half-width spaces
  • :::details: Add space between :::details and title
  • Tables: |a|b|| a | b |
  • Footnotes: [^1]:content[^1]: content
  • Horizontal rules: *** / ___---
  • Zenn image: ![](url=250x)![](url =250x)
  • Preserved: Code blocks, math ($$/$...$), \*...\*/\[...\], links/images, :::message/:::details/:::note, <details>/<!-- -->/@[card] etc.
  • In-text #: Only heading # at line start is half-width; mid-sentence # preserved

Supported Services

Compatible with Markdown syntax used by the following services. Also works with many others (GitHub, GitLab, HackMD, Obsidian, etc.).

Zenn

Supported syntax:

  • Headings, lists, blockquotes, tables, footnotes, horizontal rules
  • Images: ![](url =250x) width, caption *text*
  • Code: lang:filename, diff js
  • Math: $$ block, $ inline (KaTeX)
  • Custom: :::message / :::message alert / :::details (nest with :::)
  • Embeds: @[card] @[tweet] @[youtube] @[gist] etc.
  • mermaid, emoji :emoji:, HTML comment <!-- -->
Qiita

Supported syntax:

  • GFM + extensions. Code: lang:filename, diff_lang
  • :::note info / warn / alert
  • <details><summary> collapsible
  • Checkbox - [ ] - [x], description list <dl>
  • Math: ```math or $`...`$
  • PlantUML, Mermaid, emoji, link cards (URL-only line)
  • Reference links [text][ref], anchor #heading
note

Supported syntax:

  • Headings, blockquotes, lists, emphasis, code blocks, strikethrough, horizontal rules
  • Headings: h2, h3 only (h1→h2)
  • Emphasis: ** preferred (__ needs spaces)
  • Lists: avoid mixing - and *
VSCode / GFM

Supported syntax:

  • Headings, lists, blockquotes, links, images, tables, horizontal rules
  • Code: lang:filename (e.g. c:main.c)
  • Italic *, bold **, strikethrough ~~

Zenn, Qiita, note, HackMD, GitHub, GFM and more.

Usage

  1. Paste Markdown in the input field
  2. Click Format for full-width→half-width and spacing fix
  3. Code blocks preserved. HackMD-compatible output

When to use

Fix messy Markdown from copy-paste, format before using in HackMD.

Examples

#heading→# heading, ##text→## text, -item→- item

FAQ

What is Markdown?

Lightweight markup for headers, lists, links. Supported by GitHub, Notion, HackMD.

How to write Markdown headers?

# for h1, ## for h2, ### for h3. Space after # required. Full-width # is not recognized.

Full-width vs half-width?

Full-width = Japanese input width (#, space). Half-width = alphanumeric (#, space). Markdown needs half-width.

How to write code blocks in Markdown?

Wrap with ``` or 4 spaces at line start. Add language after ``` for highlighting. This tool preserves code blocks.

Related tools