MDEdit is a fast, minimal WYSIWYG Markdown editor written in Rust with egui. It works like Obsidian's live preview: markers are hidden everywhere except on the line with the cursor, so # Title becomes a heading as soon as you move away from it.

Features

  • Live preview of headings, bold, italic, strikethrough, ==highlight==, inline code and code blocks, links, [[wiki links]], #tags, footnotes, %%comments%%, horizontal rules, front matter.
  • Lists and tasks with hanging indents, clickable checkboxes, Enter continues a list, Tab / Shift+Tab indent.
  • Quotes and callouts (> [!note], tip, warning, danger, question, …), tables with column alignment.
  • Formulas: $…$, \(…\), $$…$$, \[…\], including \boxed{} and \text{}, rendered as Unicode.
  • Images: from files, embedded as data: base64, ![[embeds]], ![alt|300](…) widths. Ctrl+V with an image in the clipboard embeds it as a JPEG (85%, max 1200 px wide), or saves a WebP next to the document.
  • Tabs, find / replace, undo / redo (10 steps), recent files, a simple file panel (create, open, delete to trash).
  • Formatting shortcuts that also toggle the selection (Ctrl+B, Ctrl+I, …), Ctrl+scroll zooms the font.
  • Single instance: running mdedit file.md again opens the file in a new tab of the running window.
  • Linux primary selection: select text, paste with the middle mouse button or Shift+Insert.
  • Defaults from Obsidian's dark theme: Inter (text) and Source Code Pro (code), both embedded; UI in the desktop font (KDE / GNOME settings, Noto Sans 10 as fallback).
  • Binary and very large files (over 5 MB) are refused instead of freezing the editor.
  • Windows line endings (CRLF) are kept when saving. Ctrl+click opens only web and mail links, and never programs or scripts.

examples/example.md (English) and examples/przyklad.md (Polish) show every supported element.

Repository on GitHub: https://github.com/ordigital/mdeditor