{"id":15037072,"url":"https://github.com/jihong88/suneditor","last_synced_at":"2026-10-19T10:15:22.002Z","repository":{"id":37546117,"uuid":"88146394","full_name":"JiHong88/suneditor","owner":"JiHong88","description":"A lightweight and powerful WYSIWYG editor in vanilla JavaScript. No dependencies.","archived":false,"fork":false,"pushed_at":"2026-10-15T02:35:12.000Z","size":82157,"stargazers_count":2021,"open_issues_count":1,"forks_count":348,"subscribers_count":30,"default_branch":"master","last_synced_at":"2026-10-17T09:55:36.301Z","etag":null,"topics":["contenteditable","editor","html-editor","no-dependencies","rich-text-editor","suneditor","vanilla-javascript","web-editor"],"latest_commit_sha":null,"homepage":"https://suneditor.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JiHong88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"suneditor","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://paypal.me/jihong88"}},"created_at":"2017-04-13T09:07:41.000Z","updated_at":"2026-10-16T15:16:17.000Z","dependencies_parsed_at":"2023-12-09T01:06:30.484Z","dependency_job_id":"88fc3b23-786b-42b3-af3c-d626ce728ae8","html_url":"https://github.com/JiHong88/suneditor","commit_stats":{"total_commits":2565,"total_committers":64,"mean_commits":40.078125,"dds":"0.14619883040935677","last_synced_commit":"19d48a530efc182ceb64b8db561543c3dd3715bb"},"previous_names":[],"tags_count":159,"template":false,"template_full_name":null,"purl":"pkg:github/JiHong88/suneditor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiHong88%2Fsuneditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiHong88%2Fsuneditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiHong88%2Fsuneditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiHong88%2Fsuneditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JiHong88","download_url":"https://codeload.github.com/JiHong88/suneditor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JiHong88%2Fsuneditor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38333935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-17T02:00:06.547Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contenteditable","editor","html-editor","no-dependencies","rich-text-editor","suneditor","vanilla-javascript","web-editor"],"created_at":"2024-09-24T20:33:16.891Z","updated_at":"2026-10-19T10:15:21.997Z","avatar_url":"https://github.com/JiHong88.png","language":"JavaScript","funding_links":["https://opencollective.com/suneditor","https://paypal.me/jihong88"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://suneditor.com\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://suneditor-files.s3.ap-northeast-2.amazonaws.com/docs/se3_logo_title_flat.svg?v=1\" alt=\"SunEditor\" width=\"280\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eA modular WYSIWYG HTML editor with zero runtime dependencies.\u003c/strong\u003e\u003cbr /\u003e\u003cem\u003eEverything included. Enable only what you need.\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/JiHong88/SunEditor/blob/master/LICENSE.txt\" title=\"MIT License\"\u003e\u003cimg src=\"https://img.shields.io/github/license/jihong88/suneditor.svg?style=flat-square\" alt=\"GitHub License\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://www.npmjs.com/package/suneditor\" title=\"npm release\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/suneditor.svg?style=flat-square\" alt=\"npm\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://www.npmjs.com/package/suneditor\" title=\"npm month downloads\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/suneditor.svg?logo=npm\u0026style=flat-square\" alt=\"npm monthly downloads\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://www.jsdelivr.com/package/npm/suneditor\" title=\"jsDelivr CDN month downloads\"\u003e\u003cimg src=\"https://img.shields.io/jsdelivr/npm/hm/suneditor?label=CDN\u0026style=flat-square\" alt=\"jsDelivr CDN\" /\u003e\u003c/a\u003e\n\t\u003ca href=\"https://codecov.io/gh/jihong88/suneditor\" title=\"Test coverage\"\u003e\u003cimg src=\"https://codecov.io/gh/jihong88/suneditor/branch/develop/graph/badge.svg\" alt=\"Test coverage\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://suneditor.com/playground\"\u003e\u003cstrong\u003eLive Playground\u003c/strong\u003e\u003c/a\u003e ·\n\t\u003ca href=\"https://suneditor.com\"\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/a\u003e ·\n\t\u003ca href=\"#-install--quick-start\"\u003e\u003cstrong\u003eGet Started\u003c/strong\u003e\u003c/a\u003e ·\n\t\u003ca href=\"#-framework-integration\"\u003e\u003cstrong\u003eFrameworks\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n#\n\n- **Tables, images, video, audio and files** — resize, align, captions, galleries and uploads built in\n- **Markdown, math and code blocks** — GFM Markdown view, LaTeX math, code blocks with a language selector\n- **Slash commands and block handles** — `/` command menu, drag handles to move blocks\n- **Mentions, find \u0026 replace, templates, PDF export, drawing** — and more, as opt-in plugins\n- **TypeScript** — bundled type definitions for options, plugins and the public API\n- **Works with any framework** — React, Vue, Angular, Svelte or plain HTML\n- **MIT License** — free for commercial use, no account or cloud service required\n- **Zero runtime dependencies** — no polyfills, no peer dependencies\n\n## 🤔 Need an editor, not an editor framework?\n\nHeadless editor frameworks (Tiptap, Lexical, ProseMirror) give you an engine and leave the toolbar, dialogs,\ntables and media handling for you to build. That is the right choice when the editor **is** your product.\n\nSunEditor is for the other case: you need a complete HTML editor in a CMS, admin panel, back office,\nboard, product description or email form — and you need it today.\n\n|                              | SunEditor                      | Headless editor framework              |\n| ---------------------------- | ------------------------------ | -------------------------------------- |\n| Toolbar, dialogs, menus      | Built in                       | You build them                         |\n| Tables, images, media, files | Built in                       | Extensions + your own UI               |\n| Output                       | HTML                           | Document model (HTML via a serializer) |\n| First working editor         | One `create()` call            | Engine setup + your own UI             |\n| Best for                     | CMS, admin, back office, forms | Notion-like or highly custom editors   |\n\n**When SunEditor is not the best fit:** Notion-like block products, deeply custom node UIs, or collaboration-first\neditors are better served by Tiptap or Lexical. Enterprise document workflows that need comments, track changes and\nvendor support are better served by CKEditor.\n\n### 📝 Content Editing Approach\n\nSunEditor is optimized for **structured content** (articles, documentation, emails) rather than arbitrary HTML editing. Content is validated and auto-corrected to maintain consistency.\n\n\u003e For raw HTML editing needs, see [`strictMode` configuration](./ARCHITECTURE.md#content-filtering-strictmode) in the Architecture Guide.\n\n🌤 **[Try all plugins in Playground](https://suneditor.com/playground)**\n\n⭐ If SunEditor saves you time, a [GitHub star](https://github.com/JiHong88/SunEditor) helps other developers find it.\n\n🤝 **Contributions welcome!** See the [Contribution Guidelines](/CONTRIBUTING.md) and the\n[`good first issue`](https://github.com/jihong88/suneditor/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) /\n[`help wanted`](https://github.com/jihong88/suneditor/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) issues.\n\n---\n\n## 🌍 Browser Support\n\nSunEditor is built to take advantage of modern browser capabilities.  \nIt does not ship with polyfills by default, but you can add them if your project requires broader compatibility.\n\n\u003e Works correctly on the following versions or newer.\n\n| Browser                                                                                                                             | ≥ Version       |\n| ----------------------------------------------------------------------------------------------------------------------------------- | --------------- |\n| ![Chrome](https://img.shields.io/badge/-Chrome-4285F4?logo=GoogleChrome\u0026logoColor=white\u0026style=flat-square)                          | 119 (Oct 2023)  |\n| ![Edge](https://img.shields.io/badge/-Edge-0078D7?logo=MicrosoftEdge\u0026logoColor=white\u0026style=flat-square)                             | 119 (Nov 2023)  |\n| ![Firefox](https://img.shields.io/badge/-Firefox-FF7139?logo=FirefoxBrowser\u0026logoColor=white\u0026style=flat-square)                      | 125 (Apr 2024)  |\n| ![Safari (macOS, iOS)](https://img.shields.io/badge/-Safari-0D96F6?logo=Safari\u0026logoColor=white\u0026style=flat-square)                   | 17.2 (Dec 2023) |\n| ![Opera](https://img.shields.io/badge/-Opera-FF1B2D?logo=Opera\u0026logoColor=white\u0026style=flat-square)                                   | 105 (Nov 2023)  |\n| ![Android WebView](https://img.shields.io/badge/-Android%20WebView-3DDC84?logo=android\u0026logoColor=white\u0026style=flat-square)           | 119 (Oct 2023)  |\n| ![Samsung Internet](https://img.shields.io/badge/-Samsung%20Internet-1428A0?logo=samsunginternet\u0026logoColor=white\u0026style=flat-square) | 23.0 (Oct 2023) |\n| ![Firefox ESR](https://img.shields.io/badge/-FirefoxESR-FF7139?logo=FirefoxBrowser\u0026logoColor=white\u0026style=flat-square)               | 128 (Jul 2024)  |\n\n❌ Not Supported : IE, Legacy Edge\n\n### 📌 Why This Baseline? (Late 2023)\n\n- This is based on features commonly supported by modern browsers.\n- Most modern web APIs and CSS features are supported reliably in versions after this point.\n- Unless specific compatibility issues arise, you can use it out of the box without additional polyfills.\n- If you need support for older browsers, you can extend it by adding your own polyfills.\n\n---\n\n## 📦 Legacy Version (v2-legacy)\n\n\\* Supported IE11\n\n\u003e **SunEditor v3 is the latest version.**  \n\u003e This section refers to the **previous stable version, SunEditor v2**.\n\nThe `v2-legacy` branch is no longer actively maintained,  \nbut still available for compatibility with older projects.\n\n👉 [`v2-legacy` branch](https://github.com/JiHong88/SunEditor/tree/v2-legacy)\n\n---\n\n## 🚀 Install \u0026 Quick Start\n\n\u003e 💡 **Want to see it in action?**  \n\u003e Check out the 🌤 [**Live Demo**](https://suneditor.com) 🌤 with full options and examples.\n\n### NPM\n\n```bash\nnpm install suneditor --save\n```\n\n```js\nimport 'suneditor/css/editor'; // Editor UI\nimport 'suneditor/css/contents'; // For displaying HTML\nimport suneditor from 'suneditor';\n\n// HTML: \u003cdiv id=\"editor\"\u003e\u003c/div\u003e or \u003ctextarea id=\"editor\"\u003e\u003c/textarea\u003e\nsuneditor.create(document.querySelector('#editor'), {\n\t// options\n});\n```\n\n### CDN ([jsDelivr](https://www.jsdelivr.com/package/npm/suneditor))\n\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/suneditor@latest/dist/suneditor.min.js\"\u003e\u003c/script\u003e\n\u003clink href=\"https://cdn.jsdelivr.net/npm/suneditor@latest/dist/suneditor.min.css\" rel=\"stylesheet\" /\u003e\n\u003c!-- Optional language (default is English): e.g., Korean (ko) --\u003e\n\u003c!-- \u003cscript src=\"https://cdn.jsdelivr.net/npm/suneditor@latest/src/langs/ko.js\"\u003e\u003c/script\u003e --\u003e\n\n\u003cdiv id=\"editor\"\u003e\u003c/div\u003e\n\u003c!-- or \u003ctextarea id=\"editor\"\u003e\u003c/textarea\u003e --\u003e\n\n\u003cscript\u003e\n\tSUNEDITOR.create(document.querySelector('#editor'), {\n\t\t// options\n\t});\n\u003c/script\u003e\n```\n\n---\n\n## 🔧 Framework Integration\n\nYou can use the official wrappers for easier integration:\n\nReact – [suneditor-react](https://github.com/JiHong88/suneditor-react)\\\nVue – [suneditor-vue](https://github.com/JiHong88/suneditor-vue)\n\n---\n\n## 📦 Plugins\n\nSunEditor supports a plugin-based architecture.\\\nYou can enable only the plugins you need or even create your own custom ones.\n\nPass the plugins you want as an array of plugin classes:\n\n```js\nimport suneditor from 'suneditor';\nimport { font, image, video } from 'suneditor/plugins';\n\nsuneditor.create('#editor', {\n\tplugins: [font, image, video],\n\timage: {\n\t\tuploadUrl: 'https://upload.image',\n\t},\n});\n```\n\nAn object keyed by plugin name works too, and `excludedPlugins` lets you drop\nindividual plugins when you enable the whole set:\n\n```js\nimport plugins from 'suneditor/plugins';\n\nsuneditor.create('#editor', {\n\tplugins, // every built-in plugin\n\texcludedPlugins: ['image', 'video'],\n});\n```\n\n📘 [Learn how to build your own plugin →](https://suneditor.com/plugin-guide)\n\n### Community plugins\n\n| Package   | Naming                                                               | Published by                                                    |\n| --------- | -------------------------------------------------------------------- | --------------------------------------------------------------- |\n| Official  | `@suneditor/\u003cname\u003e` (e.g. `@suneditor/plugin-mermaid`)               | The [suneditor](https://github.com/suneditor) organization only |\n| Community | `suneditor-plugin-\u003cname\u003e` or `@\u003cyour-scope\u003e/suneditor-plugin-\u003cname\u003e` | Anyone                                                          |\n\nAdd the `suneditor` and `suneditor-plugin` keywords so others can find your plugin, and share it in\n[Discussions → Show and tell](https://github.com/JiHong88/SunEditor/discussions/categories/show-and-tell).\n\n🤖 Want to build plugins? Get real-time help from [SunEditor Devs AI](https://chatgpt.com/g/g-JViNPCrkD-suneditor-devs).\\\nSee [Contribution Guide](./CONTRIBUTING.md#-ai-plugin-helper) for tips and examples.\n\n---\n\n## ✨ Contributors\n\n\u003ca href=\"https://github.com/jihong88/suneditor/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=jihong88/suneditor\" alt=\"contributors\"/\u003e\n\u003c/a\u003e\n\n---\n\n## 💎 Sponsors\n\n### Backers\n\n[![Backers on Open Collective](https://opencollective.com/suneditor/backers.svg?width=890\u0026avatarHeight=64\u0026button=false)](https://opencollective.com/suneditor)\n\n### Sponsors\n\n[![Sponsors on Open Collective](https://opencollective.com/suneditor/sponsors.svg?width=890\u0026avatarHeight=64\u0026button=false)](https://opencollective.com/suneditor)\n\n---\n\n## 🔒 Security\n\nSunEditor sanitizes HTML on input, paste and Code View, and an XSS regression corpus runs with the unit test suite in CI.\nPlease report vulnerabilities privately — see the [Security Policy](./SECURITY.md).\n\n---\n\n## 📄 License\n\nSunEditor is an open-source project available under the [MIT License](./LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjihong88%2Fsuneditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjihong88%2Fsuneditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjihong88%2Fsuneditor/lists"}