md-editor-v3
| Install | |
|---|---|
npm install md-editor-v3 |
|
| Latest Version: | 7.1.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Sep 28, 2026 |
| Links: | GitHub · npm |
🎄 md-editor-v3
English | 中文
Markdown editor for vue3, developed in jsx and typescript.
-
Documentation and example: Go
-
The same series editor for react: md-editor-rt
⭐️ Features
- Toolbar, screenfull or screenfull in web pages and so on.
- Themes, Built-in default and dark themes.
- Shortcut key for editor.
- Beautify your content by
prettier(only for markdown content, not the code and other text). - Multi-language, build-in Chinese and English(default: Chinese).
- Upload picture, paste or clip the picture and upload it.
- Render article directly(no editor, no event listener, only preview of content).
- Theme of preview,
default,vuepress,github,cyanosis,mk-cute,smart-bluestyles(not identical). It can be customized also(Refer to example page). mermaid(>=1.8.0),katexmathematical formula(>=1.9.0).- Customize the toolbar as you like.
- On-demand Import(>=4.0.0).
🗺 Preview
| Default theme | Dark theme | Preview only |
|---|---|---|
![]() |
![]() |
![]() |
Inputing prompt and mark, emoji extensions

📦 Install
npm i md-editor-v3
Use existing extension of language and theme, such as Japanese
npm i @vavt/cm-extension
Use existing components of toolbar, such as exporting content as PDF
npm i @vavt/v3-extension
For more ways to use or contribute, please refer to: md-editor-extension
💡 Usage
When using server-side rendering, make sure to set id to a constant value.
Starting from 4.0.0, internal components can be imported on-demand.
✍🏻 Display Editor
<template>
<MdEditor v-model="text" />
</template>
<script setup>
import { ref } from 'vue';
import { MdEditor } from 'md-editor-v3';
import 'md-editor-v3/lib/style.css';
const text = ref('# Hello Editor');
</script>
📖 Preview Only
<template>
<MdPreview :id="id" :modelValue="text" />
<MdCatalog :editorId="id" :scrollElement="scrollElement" />
</template>
<script setup>
import { ref } from 'vue';
import { MdPreview, MdCatalog } from 'md-editor-v3';
import 'md-editor-v3/lib/preview.css';
const id = 'preview-only';
const text = ref('# Hello Editor');
const scrollElement = document.documentElement;
</script>
When using server-side rendering, scrollElement should be of string type, eg: html, body, #id, .class.
For more usage, please visit the document.
🏁 Contribute
🤝 Commit Convention (Release Aligned)
The release workflow in .github/workflows/latest.yml reads commit messages to build CHANGELOG.md.
- Format:
<type>(<scope>)!: <summary> - Recommended types:
feat: goes to Featuresrefactor: goes to Refactorsfix: goes to Fixed Bugs- other types: goes to Others
- Subject should describe the user-visible change/problem being solved, not only the mechanical action (e.g. avoid only writing
bump xxx). - Prefer adding commit body (
git czlong description) to explain motivation and impact, especially for dependency upgrades. - Do not use pure version subjects like
6.3.2orv6.3.2-beta.1(ignored by release parser). docs(changelog): ...is reserved for the bot-generated changelog commit.- If you add
#123in subject/body, release automation will notify and close that issue after publishing. Only reference issue numbers that are truly resolved.
Examples:
git commit -m "feat(editor): support drag-sort toolbar items"
git commit -m "fix(preview): sync anchor when heading id contains emoji #1234"
git commit -m "fix(deps): bump @vavt/markdown-theme to fix mermaid overflow"
git commit -m "refactor(build): simplify dts rollup pipeline"
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 7.1.0 | ^3.5.3 | MIT | |
| 7.0.0 | ^3.5.3 | MIT | |
| 6.5.6 | ^3.5.3 | MIT | |
| 6.5.5 | ^3.5.3 | MIT | |
| 6.5.4 | ^3.5.3 | MIT | |
| 6.5.3 | ^3.5.3 | MIT | |
| 6.5.2 | ^3.5.3 | MIT | |
| 6.5.1 | ^3.5.3 | MIT | |
| 6.5.0 | ^3.5.3 | MIT | |
| 6.4.2 | ^3.5.3 | MIT | |
| 6.4.1 | ^3.5.3 | MIT | |
| 6.4.0 | ^3.5.3 | MIT | |
| 6.3.2 | ^3.5.3 | MIT | |
| 6.3.1 | ^3.5.3 | MIT | |
| 6.3.0 | ^3.5.3 | MIT | |
| 6.2.1 | ^3.5.3 | MIT | |
| 6.2.0 | ^3.5.3 | MIT | |
| 6.1.1 | ^3.5.3 | MIT | |
| 6.1.0 | ^3.5.3 | MIT | |
| 6.0.1 | ^3.5.3 | MIT | |
| 6.0.0 | ^3.5.3 | MIT | |
| 5.8.5 | ^3.5.3 | MIT | |
| 5.8.4 | ^3.5.3 | MIT | |
| 5.8.3 | ^3.5.3 | MIT | |
| 5.8.2 | ^3.5.3 | MIT | |
| 5.8.1 | ^3.5.3 | MIT | |
| 5.8.0 | ^3.5.3 | MIT | |
| 5.7.1 | ^3.5.3 | MIT | |
| 5.7.0 | ^3.5.3 | MIT | |
| 5.6.1 | ^3.5.3 | MIT |
Showing the latest 30 of 202. See every release on npm
Pre-releases (154)
| Version | Released | Vue | License |
|---|---|---|---|
| 7.1.0-1 | ^3.5.3 | MIT | |
| 7.1.0-0 | ^3.5.3 | MIT | |
| 7.0.0-0 | ^3.5.3 | MIT | |
| 6.3.2-0 | ^3.5.3 | MIT | |
| 6.1.1-0 | ^3.5.3 | MIT | |
| 6.1.0-0 | ^3.5.3 | MIT | |
| 6.0.0-6 | ^3.5.3 | MIT | |
| 6.0.0-5 | ^3.5.3 | MIT | |
| 6.0.0-4 | ^3.5.3 | MIT | |
| 6.0.0-3 | ^3.5.3 | MIT | |
| 6.0.0-2 | ^3.5.3 | MIT | |
| 6.0.0-1 | ^3.5.3 | MIT | |
| 6.0.0-0 | ^3.5.3 | MIT | |
| 6.0.0-0-1 | ^3.5.3 | MIT | |
| 6.0.0-0-0 | ^3.5.3 | MIT | |
| 5.7.0-0 | ^3.5.3 | MIT | |
| 5.6.1-0 | ^3.5.3 | MIT | |
| 5.5.1-0 | ^3.5.3 | MIT | |
| 5.5.0-0 | ^3.5.3 | MIT | |
| 5.4.0-5 | ^3.5.3 | MIT | |
| 5.4.0-4 | ^3.5.3 | MIT | |
| 5.4.0-3 | ^3.5.3 | MIT | |
| 5.4.0-2 | ^3.5.3 | MIT | |
| 5.4.0-1 | ^3.5.3 | MIT | |
| 5.4.0-0 | ^3.5.3 | MIT | |
| 5.3.0-2 | ^3.5.3 | MIT | |
| 5.3.0-1 | ^3.5.3 | MIT | |
| 5.3.0-0 | ^3.5.3 | MIT | |
| 5.1.0-0 | ^3.5.3 | MIT | |
| 5.0.2-0 | ^3.5.0 | MIT |
Showing the latest 30 of 154. See every release on npm


