Markdown Formatter

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

Data is never sent to the server. Everything runs locally in your browser. Safe for sensitive information.

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.

Wrote Markdown for GitHub or HackMD but the heading isn't getting bigger? Look closely — the '#' might be a full-width character, or the half-width space is missing. Paste it into this tool and all those Markdown pitfalls are fixed in one sweep. It's designed not to touch the contents of code blocks, so you can select all and format documents containing source code without worry.

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, more> quotemore > quote
  • 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.

How to use the Markdown formatter tool?

Enter Markdown to format it: full-width to half-width, fix header/list spacing. Code blocks are preserved.

Markdown broken in HackMD?

Often caused by full-width # or missing spaces. Format with this tool before pasting to render correctly.

How to write Markdown lists?

- or * followed by a half-width space. Full-width - is not recognized, so convert to half-width with this tool.

Does Markdown formatting send my data?

No. Everything runs in your browser. The Markdown you enter is never sent to a server.

How to fix Markdown broken by copy-paste?

Paste it into this tool to format: full-width to half-width and spacing adjusted to HackMD-compatible format.

Space after ## in Markdown?

You need a half-width space, like ## heading. ##heading may not be recognized. This tool formats it correctly.

Is Markdown Formatter free?

Free to use, no sign-up required.

Is data sent to a server?

Input is processed locally in your browser—nothing is sent to our servers.

Supported browsers?

Tested on recent Chrome, Edge, Firefox, and Safari.

Offline use?

Core features work offline after the first load.

vs CLI or desktop apps?

Markdown Formatter is an install-free online alternative to CLI or desktop apps.

When to use it?

Use it when: Fix messy Markdown from copy-paste, format before using in HackMD.

Usage example?

Example: #heading→# heading, ##text→## text, -item→- item

Main features?

Full-width→half-width conversion, Header and list spacing fix, HackMD-compatible

How is this different from similar tools?

Markdown Formatter runs in the browser with no install—ideal for quick checks before heavier CLI or IDE workflows.

Search keywords

markdown formatter, markdown fix, hackmd formatter, markdown heading, markdown list, markdown online

Basic workflow

  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

Practical use cases

  • Fix messy Markdown from copy-paste, format before using in HackMD.
  • 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.
  • Full-width→half-width conversion
  • Header and list spacing fix

Privacy & data handling

Input is processed locally in your browser—nothing is sent to our servers.

Things to watch out for

  • Treat Markdown Formatter as a quick check — re-verify critical values in your editor or CI before shipping.
  • This tool runs locally: closing the tab clears unsaved input. Copy results you need to keep.
  • Very large pastes can freeze a tab briefly — wait for the result before closing the tab.

Related learning content

Related tools

Tool set