リッチテキスト・Markdown
左で Markdown を書き、右でライブプレビュー。リッチテキストと HTML はワンクリックで Markdown に変換、Excel/CSV のデータを貼り付けると Markdown 表になります
Markdown 源码 → 实时预览
导出与复制
导出的内容以 Markdown 源码框为准(富文本「转成 Markdown」与 HTML 转换的结果都会先写回那里); 文件名形如 markdown-20260607120000.md,由浏览器在本地生成并下载,不经服务器。
Markdown、富文本与 HTML:各自适合什么,以及本页做了什么净化
Markdown 语法要点,一屏就能记住。标题用行首的 #(一级一个、二级两个,最多到六级);**粗体** 与 *斜体* 用星号包裹;行首 > 是引用;- 或 1. 开头是列表;四个空格或三个反引号包起来是代码;方括号接圆括号是链接(方括号里写文字、圆括号里写网址),感叹号加方括号是图片;一行里用竖线分隔、并在下一行写上 --- 就是表格;三个及以上的连字符或星号独占一行是分隔线。这些符号都是纯 ASCII,任何编辑器、任何系统都能读懂,也不会因为换一个软件就"格式全丢"。本页左侧的工具栏就是往光标处插入这些片段,选中的文字会被自动包进成对标记里。
Markdown 和富文本各自的适用场景。富文本(Word、公众号后台、各类所见即所得编辑器)的优势是所见即所得:加粗就是加粗,字号颜色随点随有,交给完全不懂标记的人也能用,排版精细度高。代价是它把"内容"和"样式"绑在一起存成 HTML,同一段文字在不同软件里可能渲染成两个样子。Markdown 的优势是纯文本:一份 .md 文件用记事本打开也能读,用 Git 能看出一行行改了什么,转换成网页、PDF、公众号排版都只是换一个渲染器。代价是它表达能力有限——字体、颜色、居中、分栏这些它基本不管,需要精细排版时仍要回到富文本或 HTML。一个实用的分工是:存稿、写文档、写技术笔记用 Markdown;最终交付或需要精细排版的成品用富文本。本页把三条路都放在一起,就是为了让你在两者之间随时来回:Markdown 写好了可以直接导出 HTML,从别处复制的富文本或 HTML 也能一键退回 Markdown。
为什么 Markdown 更适合长期存稿。第一,它是纯文本,二十年后任何系统都能打开,不会像老版本的 .doc 那样需要特定软件才能还原;第二,它不依赖样式表,把同一份文件渲染成网页、PDF、电子书只是换渲染器的事;第三,它对版本管理友好,一次修改在 Git 里就是一两行差异,而富文本的一处加粗往往会改掉整段 HTML;第四,它便于程序处理,脚本、静态站点生成器、AI 工具都直接吃 Markdown。需要提醒的是:Markdown 没有统一标准,CommonMark 是最接近共识的规范,表格、删除线、任务列表这些属于 GFM 扩展,不同平台的渲染结果可能略有出入——所以同一份稿件在目标平台上先预览一遍,永远是好习惯。
XSS 是什么,本页做了哪些净化。XSS(跨站脚本)指攻击者把可执行的脚本混进网页内容里,让它在别人的浏览器中运行,从而窃取登录凭据、冒充用户操作。Markdown 本身相对安全,但它允许内嵌原始 HTML,而 Markdown 转出来的是 HTML 字符串——如果直接把这段字符串塞进页面,粘贴进来的 <script>、图片上的 onerror 事件、或者 href="javascript:…" 这类链接就有可能被执行。本页因此在渲染与导出前统一过一遍基础净化:整块移除 script、iframe、object、embed、style 等可执行或可嵌入外部内容的元素;移除全部以 on 开头的事件属性;把 javascript:、vbscript: 以及非图片的 data: 协议链接从 href/src 里摘掉;其余不在白名单内的标签被剥掉、只保留其中的文字。净化逻辑是一个不依赖浏览器的纯函数,因此它本身可以被逐条断言。但必须说清楚:这是基础净化,不是专业级防护——现实中的攻击面还包括 CSS 注入、SVG 内嵌脚本、畸形标签解析差异等等,专业场景请使用成熟的净化库。所以本页的定位是"处理你自己写的内容",不要用它渲染来源不可信的内容。
为什么不上传到服务器,也不做历史记录。Markdown 渲染与 HTML 转 Markdown 都是纯计算:前者是把标记换成标签,后者是把标签换成标记,两步都不需要后端能力,浏览器里几十毫秒就能做完。而这类内容往往正是最私密的那一类——未发布的稿件、内部文档、会议记录、客户材料、产品需求。上传到别人的服务器意味着多一份副本、多一处泄露面,也意味着服务端要为你保存和清理这些文本。所以本页全程在你的设备上完成:渲染、转换、导出、复制全部由页面内的 JavaScript 执行,脚本来自本站自托管(没有 CDN、没有外部请求),你输入的文字不写进网址参数、不写进 localStorage 或 sessionStorage、不写进 cookie,刷新页面就回到空白状态。打开浏览器开发者工具的 Network 面板,整页不会出现任何提交请求——这一点你可以自己验证。
よくある質問
プレビューはブラウザ内で自己ホストの marked を使い Markdown を HTML にレンダリング、1 回の基礎サニタイズを通して右側に表示;HTML から Markdown へも同じく自己ホストの turndown を使用。両ライブラリとも初回必要時のみ本サイトから読込み(初回約 45KB と 27KB、以降はブラウザがキャッシュ)、ページにはアップロード口が一切なく CDN 参照もゼロ。入力した文字は常にこのページ内に留まり、閉じるかリロードすれば何も残りません。
リッチエリアはブラウザネイティブの contenteditable と document.execCommand を使っているからです。execCommand は標準化機関に廃止指定済みで、主流ブラウザは未だサポートするもの実装細部が各様:同じ「太字」も一方は b タグ、他方はインラインスタイル span を挿入;外部コンテンツの貼り付けはスタイルと入れ子の塊を連れてくる;リストと引用もブラウザごとに生成タグが違う。そこで本ページは「既にあるコンテンツを素早く Markdown に変換する補助道具」として位置づけています——長文は Markdown ソース欄を正とし、変換後もさっともう一度見回す価値あり。
失います、これは変換そのものの限界——Markdown が表現できるのは見出し・強調斜体・リンク・画像・リスト・引用・コード・罫線だけで、字号・色・中央寄せ・多段組に対応構文が無く、turndown はそのまま捨てます(色付き中央寄せ段落は変換後素の文字列に)。特記事項:**turndown の既定ルールに表の扱いは入っていません**——表は「1 セル 1 段落」の素の文章に変換され、行列構造は消えます。表が要るなら「表 → Markdown 表」タブへ移り、データを貼れば正規の表が生成;行跨ぎ列跨ぎの結合セルは Markdown 自体が表現不能。コードブロックはソース次第:元の HTML が CSS の空白で埋めたただの段落(多くの WYSIWYG エディタがまさにこの保存方式)なら素のテキスト扱いで、三バッククォートを手当てする必要があります。
「表 → Markdown 表」タブ:Excel や Web 表からコピー&ペースト(タブ区切り)、CSV(カンマ)も縦線区切りテキストも可、区切り文字は既定で自動認識・手動指定も可。「先頭行を表ヘッダーに」でヘッダー行を決め、列ごとに左・中央・右の寄せを設定、出力は :--- 寄せ記号付き。セル内の縦線は自動エスケープ、処理全程ブラウザローカルでアップロード無し。
最もありふれた数種類は防ぎます:スクリプト要素のタグ、iframe/object/embed など外部コンテンツ埋め込み要素、名前の先頭が 英字二文字 on で始まるイベント属性すべて(エラーハンドラ・クリックハンドラ属性など)、href/src 中のスクリプト・vbscript・data URL プロトコル(data:image/ の画像のみ許可)、その他タグはホワイトリスト制で非登録タグはタグごと剥がし文字だけ残します。「他所から Markdown/HTML を一段貼る」程度ならほぼカバー。ただし専業級サニタイズではありません——現実の攻撃面には CSS インジェクション、SVG 内嵌スクリプト、不正タグ解析のブラウザ差も含まれるため、出所不明のコンテンツのレンダリングには使わず、堅い場面は成熟サニタイズライブラリを。
基準:中日韓文字(漢字・かな・ハングル)は 1 字 1 語、その他は空白で切れた連続区間を 1 語、数字と英語略語も 1 語。中国語にスペース区切りが無いので、空白で切ると中文一段落が 1 語になり極端に低く出ます。文字数は Unicode コードポイント統計(絵文字と希少漢字はサロゲートペアでも 2 と数えない)、行数は改行文字で数え空テキストは 0 行。統計 3 種の基準は全て純関数で書き、ページと出力は同一実装を共有。