Welcome to NotepadMD — a modern, cross-platform Markdown editor built for speed, simplicity, and power. Whether you’re writing documentation, taking notes, or crafting complex documents with diagrams and code, NotepadMD provides a seamless block-based editing experience.
This guide covers everything you need to know to get the most out of NotepadMD.
Installation & Platform Notes
Windows
Download the installer from notepadmd.com/get or install from the Microsoft Store. The installer includes all required dependencies and sets up automatic updates.
Requirements:
- Windows 10 version 1809 or later (64-bit recommended)
- 4 GB RAM minimum, 8 GB recommended
- 100 MB available disk space
Linux
Debian/Ubuntu via APT
NotepadMD can be installed through the hosted apt repository on Debian- and Ubuntu-based distributions.
sudo mkdir -p /usr/share/keyrings
sudo curl -fsSL https://downloadsr2.notepadmd.com/apt/notepadmd-archive-keyring.gpg -o /usr/share/keyrings/notepadmd-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/notepadmd-archive-keyring.gpg] https://downloadsr2.notepadmd.com/apt stable main" | sudo tee /etc/apt/sources.list.d/notepadmd.list >/dev/null
sudo apt update
sudo apt install notepadmd
If you prefer a portable install without adding a package repository, the AppImage distribution is still available.
AppImage
NotepadMD is distributed for Linux as an AppImage — a self-contained executable that runs on most distributions without installation.
System Requirements
| Requirement | Details |
|---|---|
| Architecture | x64 (Intel/AMD 64-bit) or ARM64 |
| Distribution | Ubuntu 22.04+, Fedora 38+, or equivalent |
| RAM | 4 GB minimum, 8 GB recommended |
| Disk Space | 100 MB available |
Runtime Dependencies
The AppImage requires the following system libraries to be installed on your host system:
| Package (Debian/Ubuntu) | Purpose |
|---|---|
libgtk-3-0 |
GTK 3 UI toolkit (used by the windowing layer) |
libwebkit2gtk-4.1-0 |
WebKitGTK 4.1 (renders the editor UI) |
libjavascriptcoregtk-4.1-0 |
JavaScriptCore engine |
libnotify4 |
Desktop notifications |
libfuse2 or fuse3 |
Required by the AppImage format to mount and run |
On Ubuntu/Debian, install them with:
sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libjavascriptcoregtk-4.1-0 libnotify4 libfuse2
On Fedora, the equivalent packages are:
sudo dnf install gtk3 webkit2gtk4.1 javascriptcoregtk4.1 libnotify fuse-libs
Installing the AppImage
For an installed desktop experience on Linux, the supported AppImage install method is to use Gear Lever.
- Download the AppImage from notepadmd.com/get.
- Open the AppImage in Gear Lever and complete the install or integration flow there.
- Launch NotepadMD from your application launcher after Gear Lever has integrated it.
If you only want to run the AppImage directly for a quick test, you can still launch it manually:
chmod +x NotepadMDSetup.AppImage
./NotepadMDSetup.AppImage
Note: Other AppImage install or integration methods currently have known issues with NotepadMD's desktop integration. The app may launch successfully, but the running application icon may not appear correctly in the dock, taskbar, or app switcher unless the AppImage is integrated with Gear Lever.
PDF Export on Linux
To use PDF export on Linux, you need a Chromium-based browser installed:
- Google Chrome (
google-chrome-stable) - Chromium (
chromium-browser) - Microsoft Edge (
microsoft-edge-stable)
Data Locations
| Item | Path |
|---|---|
| Database | ~/.local/share/NotepadMD/notepadmd.db |
| Settings | Stored in the database above |
Known Limitations
- Wayland: NotepadMD runs under XWayland on Wayland-based sessions. Native Wayland support is planned for a future release.
- Headless/server environments: A display server (X11 or Wayland) is required. NotepadMD cannot run in a headless environment.
- AppImage desktop integration: Gear Lever is the supported install method for the AppImage. Other installers or integrators can have known issues where the running application icon does not display correctly.
Quick Start
Undo & Redo
The very first thing to know: you can always undo.
| Action | Shortcut |
|---|---|
| Undo | Ctrl + Z |
| Redo | Ctrl + Shift + Z or Ctrl + Y |
Made a mistake? Just press Ctrl + Z to undo your last action. NotepadMD supports full undo history — from text edits to block insertions and deletions. You can undo as many steps as you need.
To redo an undone action, press Ctrl + Shift + Z (or Ctrl + Y).
💡 Tip: Undo works for everything — typing, formatting, block creation, block deletion, and even composite operations like pasting multiple blocks.
Shortcuts and The Slash Menu (or "Command Palette")
There's a lot of standard short cuts in NotepadMD and small commands that will help save you a lot of time. Here's some of the important ones:
- Typing a / at the start of a line opens the slash menu, which you can use to insert a lot of different block types.
- Typing a number of '#' characters at the beginning of a line will give you different levels of heading - you can even change header levels by going to the beginning of a header a typing a different number of # characters.
- Typing [[ will give you a "Wiki link" menu, letting you insert links to other documents, headings, or images.
- Typing a '-' and space at the beginning of a line will give you a bullet point list, a number a dot and a space gives you a numbered list and a '-[] ' gives you a checkbox list
Markdown Shortcuts (Auto-Conversions)
NotepadMD automatically converts common markdown shortcuts as you type:
| You type | What you get |
|---|---|
``` (triple backtick) |
Code block — language selector appears |
```javascript (triple backtick + language) |
Code block with language pre-selected |
--- or *** or ___ |
Horizontal rule (divider) |
> (angle bracket + space) |
Blockquote |
# through ###### |
Heading (H1–H6) |
- or * |
Bullet list |
1. |
Numbered list |
- [ ] or -[] |
Task list item |
These shortcuts work at the start of an empty line/block.
Your First Document
- Launch NotepadMD — the editor opens with a blank document ready to type.
- Start typing — just click in the editor area and begin writing. Each paragraph you create becomes its own "block."
- Press Enter — to create a new paragraph block below.
- Use the slash menu — type
/at the beginning of an empty block to see all available block types (headings, lists, code blocks, and more).
Saving Your Work
- Press Ctrl + S to save your current file.
- If the file hasn’t been saved before, you’ll be prompted to choose a location and filename.
- The file tab shows a yellow dot when you have unsaved changes.
The Interface
Overview
NotepadMD’s interface is designed for focused writing with powerful tools at your fingertips.
┌──────────────────────────────────────────────────────────┐
│ [Toolbar] New | Open | Save | Undo | Redo | ⚙ Settings │
├──────────────────────────────────────────────────────────┤
│ [Folder Tabs] 📁 My Notes | 📁 Work Projects │
│ [File Tabs] 📄 README.md | 📄 notes.md | 📄 draft │
├──────────────┬───────────────────────────────────────────┤
│ │ │
│ Sidebar │ Editor Area │
│ │ │
│ 📁 docs/ │ # My Document │
│ 📄 a.md │ │
│ 📄 b.md │ Start writing here... │
│ 📁 images/ │ │
│ │ │
│ ├───────────────────────────────────────────┤
│ │ Words: 42 Status Bar │
└──────────────┴───────────────────────────────────────────┘
Toolbar
The application top bar features a compact menu cluster (File, Edit, View, Help) modeled after a traditional desktop application menu. Each menu can be opened with the mouse or with an Alt keyboard accelerator.
| Menu | Accelerator | Contents |
|---|---|---|
| File | Alt + F |
New File (Ctrl + N), Open File (Ctrl + O), Open Folder (Ctrl + Shift + O), Save (Ctrl + S), Save As (Ctrl + Shift + S), Export… |
| Edit | Alt + E |
Undo (Ctrl + Z), Redo (Ctrl + Y), Find (Ctrl + F), Replace (Ctrl + H), Find in Files (Ctrl + Shift + F), Replace in Files (Ctrl + Shift + H) |
| Insert | — | Tables (grid picker), Table of Contents, Links (wiki menu), Images, Code Blocks (language picker), Callouts, Quote Blocks, Breaks (Section/Page) |
| View | Alt + V |
Toggle Theme, Zoom In (Ctrl + +), Zoom Out (Ctrl + -), Reset Zoom (Ctrl + 0) |
| Help | Alt + H |
User Guide, About |
While a menu is open, Arrow Left / Arrow Right cycle between menus and Esc closes the menu. The classic per-button File toolbar (New / Open / Save / Settings ⚙) has been replaced by these menus and by the per-tab actions shown beside the file tabs.
Sidebar & File Explorer
The sidebar on the left shows your open folders and files in a tree structure.
- Click a file to open it in a new tab.
- Right-click a file to see options: Rename, Delete, Cut, Copy.
- Right-click a folder to create a new file or subfolder inside it.
- Use the Explorer header toggle to show all folders or only the active folder.
Folder Tabs
When you have multiple workspace folders open, each one appears as a folder tab at the top. Folder tabs have colored indicators to help you visually distinguish between workspaces.
- Click a folder tab to switch to that workspace.
- Each folder maintains its own set of open files.
File Tabs
Open files appear as tabs below the folder tabs.
- Click a tab to switch to that file.
- Yellow dot on a tab means unsaved changes.
- Close button (×) on each tab lets you close the file (with a confirmation if there are unsaved changes).
- Tabs show a small color notch matching their parent folder’s color.
Editor Area
The main editor area is where you write. It uses a block-based editing approach — each paragraph, heading, list, code block, and other element is an individual block that you can manipulate independently.
Status Bar
At the bottom of the editor, the status bar shows real-time information:
- Word count — updates as you type.
Working with Files & Folders
Creating a New File
There are several ways to create a new file:
- Toolbar: Click the New File button in the toolbar.
- Sidebar: Click the + button in the sidebar header.
- Context menu: Right-click a folder in the sidebar and select New File.
New files start as "untitled" documents. When you save them, you choose a filename and location.
Opening Files
- Toolbar: Click Open File or press Ctrl + O to browse for a
.mdfile. - Sidebar: Click on any file in the file explorer to open it.
Opening Folders
Open a workspace folder to see all its files in the sidebar:
- Toolbar: Click Open Folder or press Ctrl + Shift + O.
- Sidebar: Click the Open Folder button at the bottom of the sidebar.
You can have multiple folders open simultaneously, each appearing as its own section in the sidebar and as its own folder tab.
Saving Files
| Action | How |
|---|---|
| Save | Press Ctrl + S or click Save in the toolbar |
| Save As | Save to a new location with a new name |
- A yellow dot on the file tab indicates unsaved changes.
- Files are saved as standard
.mdMarkdown files.
Renaming & Deleting Files
- Rename: Right-click a file in the sidebar → Rename. An inline editor appears for you to type the new name.
- Delete: Right-click a file → Delete. A confirmation dialog ensures you don’t accidentally delete files.
Managing Folders
- Create subfolder: Right-click a folder → New Subfolder.
- Rename folder: Right-click a folder → Rename.
- Close folder: Close the folder tab to remove it from the workspace.
- Folder colors: Each folder is assigned a color to help distinguish workspaces visually.
Drag & Drop
You can drag files between folders in the sidebar to reorganize your documents. When you drag a file over a folder, it highlights to show where the file will be moved.
External Change Detection
NotepadMD watches for changes to your files made by other applications:
- Auto-reload (default): If a file is modified externally and you have no unsaved changes, NotepadMD automatically reloads the latest version.
- Prompt mode: If you prefer, you can configure NotepadMD to always ask before reloading externally modified files. Change this in Settings → Auto-Reload External Changes.
- Conflict handling: If you have unsaved changes and the file is modified externally, NotepadMD will prompt you to choose which version to keep.
Auto-Save
NotepadMD can automatically save your files as you work:
- Open Settings (⚙ in the toolbar).
- Enable Auto-Save.
- Set the delay (default: 3 seconds, range: 1–30 seconds).
When enabled, NotepadMD waits for a pause in your typing, then automatically saves all files with unsaved changes. Only files that have been previously saved to disk are auto-saved — new untitled files are not saved automatically.
Editing Basics
Block-Based Editing
NotepadMD uses a block-based editing model. Every piece of content — a paragraph, heading, list item, code block, table, or image — is its own discrete block.
This means you can:
- Insert new blocks by pressing Enter at the end of a block, or using the slash menu.
- Delete blocks by pressing Backspace at the beginning of an empty block.
- Merge blocks by pressing Backspace at the beginning of a block to merge it with the block above.
- Convert blocks by using the slash menu to change a block’s type.
Typing & Navigation
- Type anywhere — click on a block and start typing.
- Enter — creates a new block below.
- Backspace at the start of a block — merges with the block above or deletes the block if empty.
- Arrow keys — move the cursor between blocks when at the beginning or end of a line.
Selecting Text
- Click and drag to select text within a block.
- Double-click to select a word.
- Triple-click to select an entire block.
- Standard Shift + Arrow selections work within blocks.
Copy, Cut & Paste
- Ctrl + C — Copy selected text.
- Ctrl + X — Cut selected text.
- Ctrl + V — Paste text. NotepadMD intelligently parses pasted content as Markdown, so pasting a bulleted list will create list blocks, pasting a heading will create a heading block, and so on.
💡 Tip: Paste Markdown-formatted text from other applications and NotepadMD will automatically format it into the correct block types.
Undo & Redo (Detailed)
NotepadMD tracks a comprehensive undo history that includes:
- Text changes — every keystroke, deletion, and formatting change.
- Block operations — inserting, deleting, splitting, and merging blocks.
- Composite operations — multi-block paste operations are undone as a single step.
| Action | Shortcut |
|---|---|
| Undo | Ctrl + Z |
| Redo | Ctrl + Shift + Z or Ctrl + Y |
The undo/redo toolbar buttons are also available in the toolbar for mouse-based access.
Formatting Text
NotepadMD supports standard Markdown inline formatting with convenient keyboard shortcuts.
Bold
Make text bold to add emphasis.
- Shortcut: Select text and press
Ctrl + B - Markdown: Wrap text with
**double asterisks** - Toggle: Press
Ctrl + Bagain to remove bold from selected text
Italic
Make text italic for subtle emphasis.
- Shortcut: Select text and press
Ctrl + I - Markdown: Wrap text with
*single asterisks* - Toggle: Press
Ctrl + Iagain to remove italic
Code (Inline)
Format text as inline code for technical terms, commands, or variable names.
- Markdown: Wrap text with backticks
Strikethrough
Apply strikethrough to indicate deleted or deprecated text.
- Markdown: Wrap text with
~~double tildes~~
Exiting an Inline Format
When you're typing inside an inline element (a link, inline code, bold, italic, strikethrough, highlight, etc.) and want to continue typing in plain text after the closing delimiter, you have two options:
- Double-space at the end of the inline element. The trailing space inside is removed, a single space is inserted after the closing delimiter, and the cursor is placed there.
- Ctrl + Space anywhere inside the inline element. Same effect — exits the element and places the cursor after a single trailing space.
This is especially useful at the very end of a line where there isn't already text after the inline element to click into.
💡 Tip: Formatting shortcuts work on selections. Select the text you want to format, then press the shortcut. If no text is selected, the formatting will be applied at the cursor position, ready for you to type formatted text.
Block Types
The Slash Menu
The slash menu is your gateway to all block types. It’s the fastest way to insert any type of content.
How to use it:
- On an empty line, type
/(forward slash). - A menu appears with all available block types.
- Type to filter — start typing the name of the block type you want (e.g., type "head" to filter to headings).
- Use Arrow keys to navigate the menu.
- Press Enter or click to insert the selected block type.
- Press Escape to close the menu without inserting.
Available block types:
| Block Type | Description | Keywords |
|---|---|---|
| Heading | Section heading (H1–H6) — opens a submenu | heading, h1–h6, title |
| Bullet List | Unordered list with bullet points | bullet, unordered, list |
| Numbered List | Ordered list with numbers | numbered, ordered, list |
| Task List | Checklist with checkboxes | task, todo, checkbox |
| Code Block | Syntax-highlighted code — opens language selector | code, program |
| Divider | Horizontal rule separator | divider, line, hr |
| Table | Data table with rows and columns | table, grid |
| Table of Contents | Auto-generating TOC from document headings | toc, tableofcontents |
| Callout | Highlighted alert box — opens type selector | callout, alert, note |
| Image | Insert an image | image, picture, photo |
Paragraphs (Text)
Paragraphs are the default block type. Just start typing to create one. Press Enter to start a new paragraph.
Headings
Use headings to structure your document into sections.
- Heading 1 — Top-level section (
# Heading) - Heading 2 — Sub-section (
## Heading) - Heading 3 — Sub-sub-section (
### Heading) - Heading 4–6 — Additional nesting levels (
####,#####,######)
Insert a heading using the slash menu or type # followed by a space at the beginning of a line.
Bullet Lists
Create unordered lists for items that don’t have a specific order.
- Type
-or*at the start of a line to begin a bullet list. - Press Enter to add a new list item.
- Press Enter on an empty list item to exit the list.
- Press Tab to indent a list item (create a nested list).
- Press Shift + Tab to outdent a list item.
Numbered Lists
Create ordered lists for sequential steps or ranked items.
- Type
1.at the start of a line to begin a numbered list. - Press Enter to add the next numbered item (auto-increments).
- Press Tab / Shift + Tab to indent/outdent items.
Task Lists
Create interactive checklists with clickable checkboxes.
- Unchecked item
- Checked item
- Type
- [ ]to create a task list item. - Click the checkbox to toggle it between checked and unchecked.
- Press Enter to add a new task item.
Blockquotes
Use blockquotes to highlight quoted text or important passages.
This is a blockquote. It visually indents and styles the text.
- Insert via the slash menu → Quote.
- Or type
>at the start of a line.
Dividers
Insert a horizontal rule to visually separate sections of your document.
- Insert via the slash menu → Divider.
- Or type
---on its own line.
Callouts
Callouts are colorful, attention-grabbing boxes for tips, warnings, and important notes. NotepadMD supports callout syntax from GitHub, Obsidian, Docusaurus, and other popular Markdown platforms.
All supported callout types:
| Type | Icon | Usage | Also known as |
|---|---|---|---|
| Note | ℹ️ | General information the reader should know | — |
| Abstract | 📋 | Summary or TL;DR | summary, tldr |
| Info | ℹ️ | General informational callout | — |
| Todo | ☑️ | Task or action item | task |
| Tip | 💡 | Helpful advice to make things easier | hint |
| Success | ✅ | Positive outcome or completion | check, done |
| Question | ❓ | Question or FAQ item | help, faq |
| Warning | ⚠️ | Something to be careful about | attention |
| Caution | ⛔ | Potential risks or negative outcomes | — |
| Failure | ❌ | Failure or error outcome | fail, missing |
| Danger | ⚡ | Critical warning about dangerous actions | error |
| Bug | 🐛 | Known issue or bug report | — |
| Example | 📝 | Illustrative example | — |
| Quote | 💬 | Quotation or citation | cite, citation |
| Important | 📌 | Key information that shouldn't be missed | — |
To insert a callout:
- Open the slash menu → select Callout.
- A submenu appears — choose the callout type.
- Type your callout content.
Syntax (GitHub / Obsidian compatible):
> [!NOTE]
> This is a note callout.
> [!TIP]
> This is a helpful tip.
> [!WARNING]
> Be careful about this.
Obsidian-style callouts use the same > [!TYPE] syntax, so Obsidian documents render correctly in NotepadMD.
Docusaurus admonitions (:::note, :::tip, etc.) are recognized during paste/import and converted to the standard callout format.
Escaping Hard Blocks
Hard blocks — code blocks, callouts, blockquotes, and tables — capture keyboard input. To add a new paragraph after a hard block:
- Separator button (↵): Hover over any hard block to reveal a small purple button at the bottom-right corner. Click it to insert a new empty paragraph directly below the block.
- Separator button at top (↵): When a hard block is the very first element in the editor, an additional separator button appears at the top-right corner. Click it to insert a new empty paragraph above the block.
- Keyboard shortcut: Press
Ctrl + Return(orCmd + Returnon Mac) while your cursor is inside a hard block. A new paragraph is inserted after the innermost hard block containing the cursor. - Keyboard shortcut: Press
Ctrl + Shift + Return(orCmd + Shift + Returnon Mac) to insert a new paragraph before the current block. This works on any block type.
Nested blocks: When blocks are nested (e.g., a code block inside a callout), each block shows its own separator button independently. The keyboard shortcut targets the innermost block — for example, pressing Ctrl + Return inside a code block that's within a callout inserts a paragraph after the code block (still inside the callout), not after the callout itself.
Images
Insert images into your document with alt text and optional sizing.
To insert an image:
- Open the slash menu → select Image.
- A dialog appears where you can set:
- Source — the image URL or file path
- Alt text — description for accessibility
- Title — optional tooltip text
- Width — optional custom width
Resizing images:
- Hover over an inserted image to see a resize handle in the bottom-right corner.
- Click and drag the handle to resize (maintains aspect ratio).
- Minimum width is 50px.
External image settings:
For images loaded from the internet (http/https), NotepadMD provides security controls. See External Images in the Settings section.
Links
Insert hyperlinks in your text using standard Markdown syntax:
[Link text](https://example.com)
Footnotes
Add footnotes to provide additional context without cluttering the main text.
Reference syntax:
This text has a footnote[^1].
[^1]: This is the footnote content.
- Footnotes are rendered at the bottom of the document.
- Click a footnote reference to jump to its definition.
- Click a footnote definition to jump back to the reference.
Tables
NotepadMD provides a rich table editing experience with visual controls.
Inserting a Table
- Open the slash menu → select Table.
- Choose the number of rows and columns in the dimension picker.
- The table is inserted with the specified dimensions.
Editing Table Content
- Click any cell to start editing its content.
- New tables are created with empty cells — just click and start typing.
- Use Arrow keys to navigate between cells.
- Backspace and Delete are protected at cell boundaries — they will not accidentally merge or destroy table structure.
Table Navigation
Navigate efficiently between cells using keyboard shortcuts:
| Shortcut | Action |
|---|---|
Enter |
Move to the same column in the next row. On the last row, exits the table. |
Shift + Enter |
Move to the same column in the previous row. On the first row, exits the table upward. |
Tab |
Move to the next cell (right). Wraps to the first cell of the next row. On the last cell, exits the table. |
Shift + Tab |
Move to the previous cell (left). Wraps to the last cell of the previous row. On the first cell, exits the table upward. |
Ctrl + Shift + Tab |
Insert a literal tab character in the current cell. |
Arrow Keys |
Navigate between cells (moves to adjacent cell when at cell boundary). |
Adding & Removing Rows and Columns
Hover over a table to reveal visual controls:
- Row controls appear on the left side — click to access row operations:
- Insert row above
- Insert row below
- Delete row
- Column controls appear above the header — click to access column operations:
- Insert column left
- Insert column right
- Delete column
Column Alignment
Align column content using keyboard shortcuts while your cursor is in a table cell:
| Shortcut | Alignment |
|---|---|
Ctrl + L |
Align left |
Ctrl + E |
Align center |
Ctrl + R |
Align right |
Resizing Columns
- Hover between column headers to see a resize handle.
- Click and drag the handle to resize columns.
- Column widths are saved as percentages, so they scale with the table.
Code Blocks
NotepadMD supports syntax-highlighted code blocks with a wide range of programming languages.
Inserting a Code Block
- Open the slash menu → select Code Block.
- A code block is inserted with a language selector dropdown in the top-right corner.
- Start typing your code.
Choosing a Language
Click the language dropdown in the top-right corner of a code block to select from the available languages. Syntax highlighting updates in real time.
Supported Languages
| Language | Extension |
|---|---|
| Plain Text | — |
| JavaScript | .js |
| TypeScript | .ts |
| C# | .cs |
| Python | .py |
| HTML | .html |
| CSS | .css |
| JSON | .json |
| Markdown | .md |
| SQL | .sql |
| Bash | .sh |
| YAML | .yml |
| Mermaid | (diagrams) |
Editing Code
- Tab — inserts 4 spaces (code indentation).
- Shift + Tab — removes leading spaces.
- Syntax highlighting is applied automatically based on the selected language.
Mermaid Diagrams
NotepadMD has built-in support for Mermaid diagrams, allowing you to create flowcharts, sequence diagrams, and more using a simple text syntax.
Creating a Mermaid Diagram
- Open the slash menu → select Code Block.
- Set the language to Mermaid using the language dropdown.
- Type your Mermaid diagram syntax.
- A live preview of the diagram renders below the code block.
Example — Flowchart:
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Do Something]
B -->|No| D[Do Nothing]
C --> E[End]
D --> E
C --> E((Success))
D --> B
Supported Diagram Types
Mermaid supports many diagram types including:
- Flowcharts —
graph TDorgraph LR - Sequence Diagrams —
sequenceDiagram - Class Diagrams —
classDiagram - State Diagrams —
stateDiagram-v2 - Entity Relationship —
erDiagram - Gantt Charts —
gantt - Pie Charts —
pie - Git Graphs —
gitGraph
Refer to the Mermaid documentation for the full syntax reference.
Navigating Diagrams
- Ctrl + Scroll wheel — Zoom in and out on a diagram.
- Click and drag — Pan around a large diagram.
Node Identification (Pro)
Click on any node in a rendered Mermaid diagram to identify it in the source code. When you click a node, NotepadMD places a pointer on the line that declares the node and additional pointers on every line where the node is referenced as an edge endpoint. This makes it easy to locate and edit specific parts of complex diagrams.
Exporting Diagrams (Pro)
With NotepadMD Pro, you can export Mermaid diagrams:
- Hover over a rendered diagram to see the Export button.
- Click to choose a format:
- SVG — scalable vector format, ideal for documents
- PNG — raster image format
- JPG — compressed raster format
- You can also copy the diagram to clipboard as an image.
Front Matter
What Is Front Matter?
Front matter is metadata at the top of a Markdown file, commonly used by static site generators, documentation tools, and note-taking systems. It can store properties like title, date, tags, and custom fields.
Editing Front Matter
NotepadMD provides a dedicated Front Matter Panel in the editor toolbar for visual editing:
- Click the Front Matter toggle in the editor toolbar.
- The panel offers two view modes:
- Form View — edit fields individually with a visual interface. Add, edit, and delete fields. Supports nested objects and lists.
- Raw View — edit the front matter as plain text in a monospace editor.
Adding a field (Form View):
- Click Add Field.
- Enter the field key (name).
- Select the type: String, Number, Boolean, or List.
- Enter the value and click Add.
Supported Formats
| Format | Delimiter | Example |
|---|---|---|
| YAML | --- |
--- / title: My Document / --- |
| TOML | +++ |
+++ / title = "My Document" / +++ |
| JSON | {...};;; |
{"title": "My Document"};;; |
Document Table of Contents
NotepadMD can generate an auto-updating table of contents from the headings in your document. When you insert a TOC block, it scans all headings in the document and builds a navigable list. The TOC updates live as you add, remove, or rename headings.
Inserting a Table of Contents
There are two ways to insert a TOC:
- Slash menu: Type
/on an empty line and select Table of Contents. A configuration dialog appears where you choose the heading level range (see below). Confirm to insert. - Insert menu: Click Insert → Table of Contents in the top bar. The same configuration dialog appears.
When you insert a TOC, NotepadMD places a TOC marker paragraph at the cursor position, followed by an empty paragraph so you can continue writing immediately.
Configuring TOC Heading Range
By default, TOCs include headings from H2 to H6 (H1 is the document title, typically excluded). When you insert a TOC, you can customise this range:
- Start level: Minimum heading level to include (1–6).
- End level: Maximum heading level to include (1–6).
For example, setting start=2 and end=4 will include only H2, H3, and H4 headings.
You can also configure the default range used for new TOCs in Settings → Editor → Default TOC Start/End Header Level.
To change the range on an existing TOC, click the TOC block's options menu (⋮) and select Configure. The dialog pre-fills with the current range.
TOC Marker Formats
TOC blocks use standard Markdown markers that are recognised by other tools. NotepadMD supports the following formats (all are equivalent):
| Format | Example | Notes |
|---|---|---|
[TOC] |
[TOC] |
Basic form |
[TOC:N] |
[TOC:2] |
Single level |
[TOC:M-N] |
[TOC:2-4] |
Level range |
[[TOC]] |
[[TOC]] |
Wiki-style |
[[toc]] |
[[toc]] |
Lower-case variant |
[[_TOC_]] |
[[_TOC_]] |
Underscore variant |
<!-- toc --> |
<!-- toc --> |
HTML comment |
When you insert a TOC via the UI, NotepadMD uses the [TOC:M-N] format (or [[TOC:M-N]] depending on your marker preference). The original alias style is preserved when you reconfigure the TOC.
TOC in Exports
When you export a document that contains a TOC:
- Word (.docx): The TOC is rendered as a proper Word TOC field with bookmarks for each heading. You can update the field in Word after editing (right-click → Update Field). Each heading with a stable anchor ID gets a scoped bookmark for reliable field updating.
- HTML: The TOC renders as a
<nav>element with anchor links (<a href="#heading-id">). - Plaintext: The TOC renders as a plain-text indented list of headings.
Wiki Links & Section Links
Wiki links let you quickly link to other files and specific headings in your workspace using a familiar [[double bracket]] syntax.
Linking to Files
- Type
[[in your document. - A dropdown menu appears showing files and folders in your workspace.
- Type to filter — narrow down the results as you type.
- Use Arrow keys to navigate and Enter to select.
- The link is inserted as a wiki-style link:
[[filename]].
Linking to Headings
The wiki menu includes a Headings sub-menu that lists all headings in the active document. Select a heading to insert a link to it. The exact link format depends on your Heading Link Style setting (see below).
Same-document heading link: Click on Headings in the wiki menu to link to a heading in the current document.
Cross-document section link: Select a file, then pick a heading from its sub-menu to link to a specific section in another file.
Cross-Document Section Links
NotepadMD supports Obsidian-style cross-document section links. When you link to a heading in another file, the link takes the form:
[[filename#Heading Name]]
Clicking this link opens the target file and scrolls to the matching heading. The resolution works by:
- Matching the anchor text against the target file's heading IDs (if present), then heading text, then GitHub-style slugs.
- If the target file is not open, NotepadMD opens it automatically.
- Navigation history tracks both the file and the scroll position, so Back returns you to exactly where you clicked the link.
You can also link to headings using standard Markdown anchor links:
[Link text](filename.md#heading-id)
And inline anchor links within the same document:
[Link text](#heading-id)
Ctrl+Click on any inline anchor link navigates to the target heading without opening the link in a new context.
Heading Link Styles
When you insert a heading link, NotepadMD can format it in one of four ways. Configure your preference in Settings → Editor → Heading Link Insert Style:
| Style | Example | Description |
|---|---|---|
| Ask Every Time | — | Shows a dialog on each insert asking which style to use. You can also choose "Remember" to make it the default. |
| GitHub Slug | #my-heading |
Lower-case, hyphenated slug. Most portable. |
| HeaderId | {#h-a7b9x2} |
Stable anchor ID that survives heading text edits. If the heading does not have one, NotepadMD injects one automatically. |
| Obsidian Slug | [[#Section Name]] |
Raw heading text, Obsidian-compatible. |
Stable anchor IDs: When using HeaderId style, headings that do not already have an anchor ID get one injected (in {#h-xxxxxx} format). These IDs persist through heading text edits, so your links never break when you rename a heading. The IDs round-trip through Markdown parse/serialize, so they survive export and re-import.
Friendly Link Aliases
Wiki links support custom display text. The syntax is:
[[filename#Heading|My Friendly Label]]
This renders as clickable text "My Friendly Label" that navigates to Heading in filename. To edit a link's alias after insertion, right-click the link and select Edit Link Description.
Wiki links let you quickly link to other files in your workspace using a familiar [[double bracket]] syntax.
How to use:
- Type
[[in your document. - A dropdown menu appears showing files and folders in your workspace.
- Type to filter — narrow down the results as you type.
- Use Arrow keys to navigate and Enter to select.
- The link is inserted as a wiki-style link:
[[filename]].
Raw Markdown View
Want to see the underlying Markdown source? NotepadMD offers a side-by-side raw Markdown view.
- Click the Raw Markdown toggle button in the editor toolbar.
- A panel slides open to the right, showing the raw Markdown source.
- The raw view updates in real time as you edit in the main editor.
- Click the close button or toggle button again to hide the panel.
The divider between the editor and raw view is resizable — drag it to adjust the proportions.
Settings & Preferences
Opening Settings
Click the ⚙ Settings button in the toolbar to open the settings panel on the right side of the window.
Themes
NotepadMD includes three built-in themes:
| Theme | Description |
|---|---|
| Light | Clean, bright appearance with white backgrounds |
| Dark | Easier on the eyes in low-light environments |
| Midnight | Deep dark theme for late-night writing |
Select your theme in Settings → Appearance → Theme.
Typography
Customize how your text looks in the editor:
| Setting | Description |
|---|---|
| Body Font Size | Size of paragraph text |
| Body Line Height | Spacing between lines |
| Heading Sizes (H1–H6) | Individual size control for each heading level |
| Heading Line Heights | Spacing for heading levels |
| List Indentation | How far nested list items are indented |
| Block Spacing | Vertical spacing between blocks |
| Header Top Margin | Extra space above headings |
Zoom
Adjust the overall zoom level of the application:
| Shortcut | Action |
|---|---|
Ctrl + + (or Ctrl + =) |
Zoom in |
Ctrl + - |
Zoom out |
Ctrl + 0 |
Reset zoom to default |
Zoom ranges from 0.5× to 2.0×. A floating zoom panel is also available on desktop platforms.
Auto-Save Settings
| Setting | Default | Description |
|---|---|---|
| Auto-Save Enabled | Off | Toggle automatic saving |
| Auto-Save Delay | 3000ms | Time to wait after typing stops before saving (1–30 seconds) |
External Images
Control how NotepadMD handles images loaded from the internet:
| Setting | Options |
|---|---|
| Allow External Images | Allow / Block |
| Default Action | Prompt, Link only, or Download locally |
| Per-Domain Settings | Remember choices for specific domains |
When an external image is encountered for the first time, NotepadMD can prompt you to decide whether to display it, keeping your documents secure.
Mermaid Settings
| Setting | Options |
|---|---|
| Mermaid Theme | Default, Ocean, Ember, Evergreen, Midnight, Monochrome, High Contrast, Dynamic (Pro) |
| Mermaid Layout | Above-Below, Left-Right |
Editor Settings
| Setting | Default | Description |
|---|---|---|
| Heading Link Insert Style | Ask Every Time | How heading links are formatted: GitHub Slug, HeaderId (stable anchor), Obsidian Slug, or Ask Every Time. |
| Default TOC Start Header Level | 2 | Minimum heading level (1–6) included in new TOCs. |
| Default TOC End Header Level | 6 | Maximum heading level (1–6) included in new TOCs. |
Exporting & Importing Settings
Back up or transfer your preferences:
- Export: Save all settings as a JSON file.
- Import: Load settings from a previously exported JSON file.
Find these options at the bottom of the Settings panel.
Pro Features
NotepadMD Pro unlocks advanced features for power users.
Custom Color Schemes
Create your own personalized themes:
- Go to Settings → Themes.
- Click Create Custom Theme.
- Choose a base theme (Light, Dark, or Midnight) to build upon.
- Customize 28+ color variables including:
- Background, foreground, and card colors
- Primary, secondary, and accent colors
- Sidebar colors and borders
- Input, ring, and destructive colors
- Clone existing custom themes to create variations.
- Export/Import custom themes to share with others.
Colors use the OKLCH color format for perceptual uniformity.
Mermaid Diagram Export
Export your Mermaid diagrams as images (see Exporting Diagrams).
Mermaid Click-to-Highlight
With Pro, clicking on elements within a rendered Mermaid diagram highlights the corresponding code in the editor, making it easy to find and edit specific parts of complex diagrams.
Smart Paste
Smart Paste intelligently converts content from external applications into properly formatted Markdown. When you paste from Word, Google Docs, web pages, or other rich-text sources, NotepadMD detects the format and converts headings, bold, italic, lists, tables, links, images, and code blocks into clean Markdown.
Supported sources include:
- Microsoft Word
- Google Docs
- Apple Pages
- LibreOffice
- Web browsers (HTML content)
💡 Tip: Smart Paste is a Pro feature. Free users can still paste plain text content normally.
Activating Pro
- Purchase a Pro license at notepadmd.com.
- Go to Settings → click Activate Pro.
- Enter your license key.
- Pro features are unlocked immediately.
Document Export
NotepadMD Pro can export your markdown documents to multiple formats for sharing and publishing.
Supported Formats
- Word (.docx) — Native Microsoft Word format with styles, formatting, and embedded images
- HTML (.html) — Standalone HTML file with themed styling
- PDF (.pdf) — Portable Document Format via HTML rendering
- RTF (.rtf) — Rich Text Format for broad compatibility
- Plain Text (.txt) — Unformatted text content
Exporting a Document
- Open the document you want to export
- Click the Export button in the toolbar (or use the keyboard shortcut)
- Select your target format
- Configure format-specific options (see below)
- Click Export to save the file
Word Export Options
When exporting to Word format, you can select a Word Template (.dotx) to control the document's styling. NotepadMD includes a built-in default template, and you can import your own custom templates.
Managing Templates
- Open Settings → Export Settings
- In the Word Templates section, click Import Word Template to add your own .dotx template
- Select a template as the default using the radio buttons
- The selected template will be used for all future Word exports
Code Block Styling
Code blocks in exported Word documents use the Code paragraph style. By default, this style includes:
- Font: Consolas (monospace)
- Background: Light grey (#F5F5F5) paragraph shading
- Spacing: Compact line spacing suitable for code
Customising Code Block Background Colour
To change the code block background colour, modify the Code style in your Word template:
- Open your
.dotxtemplate file in Microsoft Word - In the Home tab, open the Styles pane
- Find the Code style, right-click it, and select Modify
- Click Format → Paragraph → Shading tab
- Change the Fill colour to your preferred background colour
- Click OK to save, then save the template
- Import the updated template into NotepadMD via Settings → Export Settings
You can also create an entirely new template from scratch — NotepadMD will automatically add any required styles (Heading1-6, Code, Quote, ListParagraph, and all callout styles) that are missing from your custom template.
Callout Styling in Exports
Callouts (> [!NOTE], > [!WARNING], etc.) are styled with type-specific colours across all export formats: coloured left borders, tinted backgrounds, and emoji icons in headers.
Word Export — Named Callout Styles
Each callout type maps to a named Word paragraph style, allowing you to customise their appearance via your Word template:
| Callout Type | Word Style Name | Default Border | Default Background |
|---|---|---|---|
| Note | NMD Callout Note | Blue (#3B82F6) | Light blue (#EFF6FF) |
| Abstract | NMD Callout Abstract | Cyan (#06B6D4) | Light cyan (#ECFEFF) |
| Info | NMD Callout Info | Blue (#3B82F6) | Light blue (#EFF6FF) |
| Todo | NMD Callout Todo | Blue (#60A5FA) | Light blue (#EFF6FF) |
| Tip | NMD Callout Tip | Green (#22C55E) | Light green (#F0FDF4) |
| Success | NMD Callout Success | Green (#16A34A) | Light green (#F0FDF4) |
| Question | NMD Callout Question | Amber (#F59E0B) | Light amber (#FFFBEB) |
| Warning | NMD Callout Warning | Yellow (#EAB308) | Light yellow (#FEFCE8) |
| Caution | NMD Callout Caution | Red (#EF4444) | Light red (#FEF2F2) |
| Failure | NMD Callout Failure | Red (#F87171) | Light red (#FEF2F2) |
| Danger | NMD Callout Danger | Red (#DC2626) | Light red (#FEF2F2) |
| Bug | NMD Callout Bug | Rose (#F43F5E) | Light rose (#FFF1F2) |
| Example | NMD Callout Example | Violet (#8B5CF6) | Light violet (#F5F3FF) |
| Quote | NMD Callout Quote | Grey (#9CA3AF) | Light grey (#F9FAFB) |
| Important | NMD Callout Important | Purple (#A855F7) | Light purple (#FAF5FF) |
All per-type styles inherit from a base NMD Callout style. Modifying the base style changes all callout types at once.
Customising Callout Appearance in Word
To change the colour or formatting of callouts in exported Word documents:
- Open your
.dotxtemplate file in Microsoft Word - In the Home tab, open the Styles pane
- Find the callout style to modify (e.g. NMD Callout Warning), right-click it, and select Modify
- Click Format → Border to change the left border colour
- Click Format → Paragraph → Shading tab to change the background fill
- Click OK to save, then save the template
- Import the updated template into NotepadMD via Settings → Export Settings
To change all callouts at once, modify the NMD Callout base style instead.
HTML & PDF Export — CSS Callout Classes
In HTML and PDF exports, callouts use CSS classes that you can override in custom export themes:
.nmd-callout— Base class applied to all callouts (border, padding, border-radius).nmd-callout-{type}— Per-type class (e.g..nmd-callout-note,.nmd-callout-warning).nmd-callout-header— Flex container for the icon + title row
Example custom CSS to change the warning callout background in a theme:
.nmd-callout-warning {
--callout-accent: #d97706;
--callout-bg: #fef3c7;
}
To add custom CSS for callouts:
- Open Settings → Export Settings → CSS Themes
- Import a custom
.cssfile containing your callout overrides - Select it as the active export theme
HTML & PDF Export Options
When exporting to HTML or PDF, you can choose from several built-in themes:
- GitHub — Clean, familiar GitHub-flavoured styling
- Academic — Formal styling suitable for academic documents
- Modern — Contemporary design with clean typography
- Minimal — Simple, distraction-free styling
- Dark — Dark background theme
- Manuscript — Traditional manuscript formatting
You can also configure image layout options:
- Image Alignment: Left, Centre, or Right
- Image Scale: 10–200% of original size
Custom CSS themes can be imported via Settings → Export Settings → CSS Themes.
Keyboard Shortcuts Reference
A complete reference of all keyboard shortcuts in NotepadMD.
File Operations
| Shortcut | Action |
|---|---|
Ctrl + S |
Save file |
Ctrl + O |
Open file |
Ctrl + Shift + O |
Open folder |
Editing
| Shortcut | Action |
|---|---|
Ctrl + Z |
Undo |
Ctrl + Shift + Z |
Redo |
Ctrl + Y |
Redo (alternative) |
Ctrl + C |
Copy |
Ctrl + X |
Cut |
Ctrl + V |
Paste (with Markdown parsing) |
Text Formatting
| Shortcut | Action |
|---|---|
Ctrl + B |
Toggle bold |
Ctrl + I |
Toggle italic |
Lists & Indentation
| Shortcut | Action |
|---|---|
Tab |
Indent list item / Insert spaces in code |
Shift + Tab |
Outdent list item / Remove spaces in code |
Table Alignment
| Shortcut | Action |
|---|---|
Ctrl + L |
Align column left |
Ctrl + E |
Align column center |
Table Navigation
| Shortcut | Action |
|---|---|
Enter |
Move to same column in next row (exit table on last row) |
Shift + Enter |
Move to same column in previous row (exit table upward on first row) |
Tab |
Move to next cell (wrap to next row; exit table on last cell) |
Shift + Tab |
Move to previous cell (wrap to previous row; exit table on first cell) |
Ctrl + Shift + Tab |
Insert literal tab character in cell |
Ctrl + R |
Align column right |
Zoom
| Shortcut | Action |
|---|---|
Ctrl + + / Ctrl + = |
Zoom in |
Ctrl + - |
Zoom out |
Ctrl + 0 |
Reset zoom |
Navigation & Menus
| Shortcut | Action |
|---|---|
/ |
Open slash menu (on empty line) |
[[ |
Open wiki link menu |
Ctrl + Click |
Navigate to heading anchor (inline anchor links) |
Enter |
Create new block / Confirm menu selection |
Ctrl + Return |
Insert paragraph after hard block (code, callout, table, blockquote) |
Ctrl + Shift + Return |
Insert paragraph before current block |
Escape |
Close menus |
Arrow Keys |
Navigate menus / Move between blocks |
Mermaid Diagrams
| Shortcut | Action |
|---|---|
Ctrl + Scroll |
Zoom diagram |
Click + Drag |
Pan diagram |
Tips & Tricks
Here are some helpful tips to boost your productivity with NotepadMD:
Quick Block Creation
- Headings: Type
#,##, or###followed by a space to instantly create a heading. - Bullet lists: Type
-or*followed by a space. - Numbered lists: Type
1.followed by a space. - Task lists: Type
- [ ]to create a task item. - Code blocks: Type
```(triple backtick) on an empty line — the language selector appears automatically. - Dividers: Type
---,***, or___on an empty line to create a horizontal rule. - Blockquotes: Type
>followed by your text.
Slash Menu Filtering
Type / then immediately start typing to filter. For example, /code will quickly filter to the code block option. This is much faster than scrolling through the menu.
Session Persistence
NotepadMD remembers your open files and folders between sessions. When you restart the app, your workspace is restored exactly as you left it — including which files were open and which was active.
Scroll position persistence: When you switch between file tabs, NotepadMD restores your scroll position instantly. When you navigate to a section via a TOC link or wiki section link, the navigation history records both the file and the scroll position. Pressing Back returns you to the exact location where you clicked the link.
Multiple Workspaces
Keep several projects open simultaneously by opening multiple folders. Each folder gets its own color-coded tab, making it easy to switch between projects.
Paste as Markdown
Copy Markdown-formatted text from any source (GitHub, documentation, other editors) and paste it into NotepadMD. The editor intelligently parses the Markdown and creates the appropriate blocks — headings, lists, code blocks, and all.
Keyboard-First Workflow
For maximum speed, use this workflow:
- Type
/→ filter →Enterto insert blocks. Ctrl + B/Ctrl + Ito format text.Tab/Shift + Tabto manage list nesting.Ctrl + Sto save.Ctrl + Zif anything goes wrong.
Troubleshooting
My file won’t save
- Ensure you have write permissions to the file location.
- If the file is locked by another application, close that application first.
- Try Save As to save to a different location.
The editor feels slow
- Large documents with many blocks may affect performance. Consider splitting very large documents into smaller files.
- Close unused folder workspaces to reduce resource usage.
- Check that auto-save delay is not set too low (minimum recommended: 2 seconds).
External changes aren’t detected
- External change detection checks periodically — there may be a brief delay.
- Ensure the file is being saved to the same path that NotepadMD has open.
- Check Settings → Auto-Reload External Changes to ensure it’s enabled.
Mermaid diagrams aren’t rendering
- Verify your Mermaid syntax is correct by checking the Mermaid Live Editor.
- Ensure the code block language is set to Mermaid (not plain text or another language).
My settings were reset
- Export your settings regularly as a backup using Settings → Export.
- Settings are stored in a local database, so reinstalling the application may reset them. Import your backup after reinstallation.
Thank you for using NotepadMD! We hope this guide helps you make the most of your writing experience. If you have questions or feedback, visit notepadmd.com.