Markdown エディター

サイドバイサイドプレビュー付きライブ Markdown エディター。GitHub Flavored 対応、自動保存、HTML/MD ダウンロード。

Loading…

すべての処理はブラウザ内で実行されます — ファイルや入力はサーバへ送信されません。

使い方

左側で Markdown を入力すると、右側にレンダリングされた HTML が表示されます。2 つのペインは連動してスクロールするため、長い文書でも位置が揃ったままです。ビュー切替で「分割」「プレビューのみ」(仕上がり確認向け)「ソースのみ」(執筆に集中したいとき)を切り替えられます。**文法リファレンス** ボタンを押すと、よく使う 14 種類の GFM 記法(見出し・強調・リスト・タスクリスト・リンク・画像・コード・引用・区切り線・テーブル)と書き方を一覧表示する折りたたみパネルが開きます。タスクのチェックボックスやフェンス付きコードブロックの書き方を思い出せないときに便利です。下書きはキー入力から 300 ms 後に localStorage へ自動保存されるので、タブを閉じてもこのページを再度開けば続きから書けます。

書いたものはリポジトリにコミット用なら Markdown(.md)として、メールなどでサクッと共有したいなら基本スタイル入りの単体 HTML ファイル(.html)としてダウンロードできます。「HTML をコピー」ボタンは本文マークアップだけをコピーするので、別の CMS やブログエディタへの貼り付けに使えます。パースには GFM を有効化した marked を使い、結果の HTML は DOMPurify で表示前にサニタイズされるため、信頼できないソースからの貼り付けでもスクリプトは実行されません。

テーブル

入力
| Feature | Status |
| --- | --- |
| Tables | done |
| Task lists | done |
出力
┌──────────┬────────┐
│ Feature  │ Status │
├──────────┼────────┤
│ Tables   │ done   │
│ Task lists│ done   │
└──────────┴────────┘

GitHub 仕様のテーブルです。ヘッダー区切り行(---)は必須で、整列用のコロン(:---・---:・:---:)も使えます。

タスクリスト

入力
- [x] Write the draft
- [ ] Review with the team
- [ ] Publish
出力
☑ Write the draft
☐ Review with the team
☐ Publish

GFM 専用機能です。プレビューにはチェックボックスが表示されますが、ソースはプレーンテキストのままなので Git にきれいにコミットできます。

言語指定付きの code block

入力
```ts
function greet(name: string): string {
  return `Hello, ${name}!`;
}
```
出力
Renders as a monospace block with the language label preserved.

言語ヒントは出力 HTML の <code> 要素のクラス(例: class="language-ts")として保持され、下流のシンタックスハイライターがこの値を参照します。

タイトル付きインラインリンク

入力
See [the spec](https://example.com/spec "Latest revision") for details.
出力
See the spec for details.  (hover shows "Latest revision")

title 属性はプレビューおよびダウンロードした HTML でホバー時に表示されます。「外部サイトに移動します」のような注意書きやバージョン注記に便利です。

よくある質問

自動保存はどこに保存されますか?

ブラウザの localStorage に utilrepo:markdown-editor:draft というキーで保存されます。データはこの端末・このブラウザプロファイルにのみ残り、サイトデータの消去、ブラウザの切り替え、別マシンへの移動で失われます。クラウド同期はありません。

GitHub と同じレンダリング結果になりますか?

かなり近いですが完全には一致しません。本エディターは GFM 拡張を有効にした marked を使い、テーブル・タスクリスト・打ち消し線・fenced code block をカバーします。GitHub は絵文字ショートコード、Issue 番号の自動リンク、独自の alert blockquote、リポジトリ依存の参照など追加機能を提供しており、これらは本プレビューでは再現されません。純粋な構造的 Markdown であれば結果は一致します。

ソースに HTML を貼り付けても動きますか?

可能です。Markdown はインライン HTML を許容しており、プレビューでもレンダリングされます。パース後の HTML は DOMPurify を通すため、script タグ、onclick などのイベントハンドラ、javascript: リンクは取り除かれます。レンダリングした HTML を他人と共有する場面でも安全な既定動作です。

画像を埋め込むには?

![alt text](URL) を使います。URL は公開されている必要があります(S3・GitHub raw・自社 CDN など)。本ツールはローカルファイルをアップロードしません。データ URI として画像をインライン化したい場合は [画像リサイズ](/ja/image-resizer/) で小さな WebP に変換し、結果を [Base64 ツール](/ja/base64/) で符号化してください。

ダウンロードした HTML が素朴なのはなぜ?シンタックスハイライトは?

外部依存なしでスタンドアロン動作させるため、ダウンロードファイルには最小限のスタイルだけを同梱しています。コードブロックは言語クラスを保持しますが、事前ハイライトは行いません。ハイライトを付けたい場合は、ビルド時にハイライター(Prism・Shiki・highlight.js)を組み込む CMS や静的サイトジェネレーターに HTML を貼り付けてください。

関連する概念

Markdown は 2004 年に、構造化された文書をプレーンテキストとしても読みやすく書けるようにする手段として登場しました。機械可読性を重視した HTML の意図的な反転です。John Gruber の最初の実装は当時の判断で柔軟に解釈するスタイルで、結果として柔軟性は高いものの曖昧さを残した仕様になりました。2014 年に開始された CommonMark がコーナーケース(*foo _bar* baz_ は厳密にどう解釈する?)を形式化し、現在ほとんどのモダンパーサーはこれを基底文法としています。

CommonMark の上にはコンテキスト別の機能を追加する「フレーバー」が存在します。GitHub Flavored Markdown(GFM)はテーブル・タスクリスト・打ち消し線・自動リンク・言語識別子付き fenced code block を追加し、本エディターが実装している方言でもあります。React プロジェクトで人気の MDX は JSX コンポーネントを文書内に直接埋め込めるようにします。Pandoc Markdown は脚注・引用・学術文書向け機能を多数追加します。いずれもプレーンテキストとして読める核心部分を共有し、プレビューに何が現れるかが違います。プラットフォーム間で移植性が重要な場合は CommonMark に留め、フレーバー固有機能は移行先が対応しているときだけ使うのが安全です。

関連ツール