---
title: "Bundling TinyMCE plugins using module loading"
description: "Information on bundling TinyMCE plugins using module loading"
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/bundling-plugins/"
md_url: "https://www.tiny.cloud/docs/tinymce/5/bundling-plugins/index.md"
version: "5"
last_updated: "2024-04-09T10:06:54Z"
tokens: 4829
---
Important This page documents TinyMCE 5. For new projects, Tiny recommends using the latest, most up-to-date version. [See TinyMCE 8 documentation](../../latest/bundling-plugins/).
# Bundling TinyMCE plugins using module loading

## Overview

This section shows the files required for each TinyMCE component. The file paths shown are relative to the root TinyMCE package directory, where `tinymce.min.js` is stored. For example:

```
./
├── icons/
├── jquery.tinymce.min.js
├── langs/
├── license.txt
├── plugins/
├── readme.txt
├── skins/
├── themes/
├── tinymce.d.ts
├── tinymce.js
├── tinymce.min.js
└── version.txt
```
The following table shows examples of the syntax used to bundle the following plugin.

Required files for an example plugin:

```
./plugins/example/content.css
./plugins/example/plugin.js
```
Example syntax for including the example "plugin" in a bundle:

**Module Syntax:** ES6+ · **Source:** npm

**Example:**

```js
import pluginCss from 'tinymce/plugins/example/content.css';
import 'tinymce/plugins/example';
```
**Module Syntax:** ES6+ · **Source:** `.zip`

**Example:**

```js
import pluginCss from '../tinymce/plugins/example/content.css';
import '../tinymce/plugins/example/plugin';
```
**Module Syntax:** Common JS · **Source:** npm

**Example:**

```js
var pluginCss = require('tinymce/plugins/example/content.css');
require('tinymce/plugins/example');
```
**Module Syntax:** Common JS · **Source:** `.zip`

**Example:**

```js
var pluginCss = require('../tinymce/plugins/example/content.css');
require('../tinymce/plugins/example/plugin.js');
```

> **Important:** The handling of content CSS files (such as `content.css` or `content.min.css`) varies between bundling tools. View the relevant guide for the required syntax at [Bundling TinyMCE with a module loader](../usage-with-module-loaders/).

## Contents

> **Important:** The following premium plugins **can not** be bundled at this time:
> 
> - Accessibility Checker (`a11ychecker`)
> - Advanced Code (`advcode`)
> - Comments (`tinycomments`)
> - Enhanced Media Embed (`mediaembed`)
> - Link Checker (`linkchecker`)
> - Mentions (`mentions`)
> - Page Embed (`pageembed`)

- [Premium plugins](#premiumplugins)

  - [Accessibility Checker (a11ychecker)](#accessibilitycheckera11ychecker)
  - [Advanced Code (advcode)](#advancedcodeadvcode)
  - [Advanced Tables (advtable)](#advancedtablesadvtable)
  - [Case Change (casechange)](#casechangecasechange)
  - [Checklist (checklist)](#checklistchecklist)
  - [Comments (tinycomments)](#commentstinycomments)
  - [Enhanced Media Embed (mediaembed)](#enhancedmediaembedmediaembed)
  - [Export (export)](#exportexport)
  - [Format Painter (formatpainter)](#formatpainterformatpainter)
  - [Link Checker (linkchecker)](#linkcheckerlinkchecker)
  - [Mentions (mentions)](#mentionsmentions)
  - [Page Embed (pageembed)](#pageembedpageembed)
  - [Permanent Pen (permanentpen)](#permanentpenpermanentpen)
  - [PowerPaste (powerpaste)](#powerpastepowerpaste)
  - [Spell Checker Pro (tinymcespellchecker)](#spellcheckerprotinymcespellchecker)
- [Community plugins](#communityplugins)

  - [Advanced List (advlist)](#advancedlistadvlist)
  - [Anchor (anchor)](#anchoranchor)
  - [Autolink (autolink)](#autolinkautolink)
  - [Autoresize (autoresize)](#autoresizeautoresize)
  - [Autosave (autosave)](#autosaveautosave)
  - [BBCode (bbcode)](#bbcodebbcode)
  - [Character Map (charmap)](#charactermapcharmap)
  - [Code (code)](#codecode)
  - [Code Sample (codesample)](#codesamplecodesample)
  - [Directionality (directionality)](#directionalitydirectionality)
  - [Emoticons (emoticons)](#emoticonsemoticons)
  - [Full Page (fullpage)](#fullpagefullpage)
  - [Full Screen (fullscreen)](#fullscreenfullscreen)
  - [Help (help)](#helphelp)
  - [Horizontal Rule (hr)](#horizontalrulehr)
  - [Image (image)](#imageimage)
  - [Image Tools (imagetools)](#imagetoolsimagetools)
  - [Import CSS (importcss)](#importcssimportcss)
  - [Insert Date/Time (insertdatetime)](#insertdatetimeinsertdatetime)
  - [Legacy Output (legacyoutput)](#legacyoutputlegacyoutput)
  - [Link (link)](#linklink)
  - [Lists (lists)](#listslists)
  - [Media (media)](#mediamedia)
  - [Nonbreaking Space (nonbreaking)](#nonbreakingspacenonbreaking)
  - [Noneditable (noneditable)](#noneditablenoneditable)
  - [Page Break (pagebreak)](#pagebreakpagebreak)
  - [Paste (paste)](#pastepaste)
  - [Preview (preview)](#previewpreview)
  - [Print (print)](#printprint)
  - [Quick Toolbar (quickbars)](#quicktoolbarquickbars)
  - [Save (save)](#savesave)
  - [Search and Replace (searchreplace)](#searchandreplacesearchreplace)
  - [Spell Checker (spellchecker)](#spellcheckerspellchecker)
  - [Tab Focus (tabfocus)](#tabfocustabfocus)
  - [Table (table)](#tabletable)
  - [Template (template)](#templatetemplate)
  - [Text Pattern (textpattern)](#textpatterntextpattern)
  - [Table of Contents (toc)](#tableofcontentstoc)
  - [Visual Block (visualblocks)](#visualblockvisualblocks)
  - [Visual Characters (visualchars)](#visualcharactersvisualchars)
  - [Word Count (wordcount)](#wordcountwordcount)

## Premium plugins

### Accessibility Checker (`a11ychecker`)

> **Note:** The plugin language files (such as `./plugins/plugin/langs/sv_SE.js`) are required where the editor user interface is localized using the [`language` option](../content-localization/#language).

```
./plugins/a11ychecker/css/annotations.css
./plugins/a11ychecker/langs/ar.js
./plugins/a11ychecker/langs/bg_BG.js
./plugins/a11ychecker/langs/ca.js
./plugins/a11ychecker/langs/cs.js
./plugins/a11ychecker/langs/da.js
./plugins/a11ychecker/langs/de.js
./plugins/a11ychecker/langs/el.js
./plugins/a11ychecker/langs/es.js
./plugins/a11ychecker/langs/eu.js
./plugins/a11ychecker/langs/fa.js
./plugins/a11ychecker/langs/fi.js
./plugins/a11ychecker/langs/fr_FR.js
./plugins/a11ychecker/langs/he_IL.js
./plugins/a11ychecker/langs/hr.js
./plugins/a11ychecker/langs/hu_HU.js
./plugins/a11ychecker/langs/id.js
./plugins/a11ychecker/langs/it.js
./plugins/a11ychecker/langs/ja.js
./plugins/a11ychecker/langs/kk.js
./plugins/a11ychecker/langs/ko_KR.js
./plugins/a11ychecker/langs/nb_NO.js
./plugins/a11ychecker/langs/nl.js
./plugins/a11ychecker/langs/pl.js
./plugins/a11ychecker/langs/pt_BR.js
./plugins/a11ychecker/langs/pt_PT.js
./plugins/a11ychecker/langs/ro.js
./plugins/a11ychecker/langs/ru.js
./plugins/a11ychecker/langs/sk.js
./plugins/a11ychecker/langs/sl_SI.js
./plugins/a11ychecker/langs/sv_SE.js
./plugins/a11ychecker/langs/th_TH.js
./plugins/a11ychecker/langs/tr.js
./plugins/a11ychecker/langs/uk.js
./plugins/a11ychecker/langs/zh_CN.js
./plugins/a11ychecker/langs/zh_TW.js
./plugins/a11ychecker/plugin.js
```

### Advanced Code (`advcode`)

```
./plugins/advcode/codemirror.min.css
./plugins/advcode/codemirror.min.js
./plugins/advcode/customeditor.js
./plugins/advcode/plugin.js
```

### Advanced Tables (`advtable`)

```
./plugins/advtable/plugin.js
```

### Case Change (`casechange`)

```
./plugins/casechange/plugin.js
```

### Checklist (`checklist`)

```
./plugins/checklist/plugin.js
```

### Comments (`tinycomments`)

> **Note:** The plugin language files (such as `./plugins/plugin/langs/sv_SE.js`) are required where the editor user interface is localized using the [`language` option](../content-localization/#language).

```
./plugins/tinycomments/css/tinycomments.css
./plugins/tinycomments/js/tinycomments-sidebar.js
./plugins/tinycomments/langs/ar.js
./plugins/tinycomments/langs/bg_BG.js
./plugins/tinycomments/langs/ca.js
./plugins/tinycomments/langs/cs.js
./plugins/tinycomments/langs/da.js
./plugins/tinycomments/langs/de.js
./plugins/tinycomments/langs/el.js
./plugins/tinycomments/langs/es.js
./plugins/tinycomments/langs/eu.js
./plugins/tinycomments/langs/fa.js
./plugins/tinycomments/langs/fi.js
./plugins/tinycomments/langs/fr_FR.js
./plugins/tinycomments/langs/he_IL.js
./plugins/tinycomments/langs/hr.js
./plugins/tinycomments/langs/hu_HU.js
./plugins/tinycomments/langs/id.js
./plugins/tinycomments/langs/it.js
./plugins/tinycomments/langs/ja.js
./plugins/tinycomments/langs/kk.js
./plugins/tinycomments/langs/ko_KR.js
./plugins/tinycomments/langs/nb_NO.js
./plugins/tinycomments/langs/nl.js
./plugins/tinycomments/langs/pl.js
./plugins/tinycomments/langs/pt_BR.js
./plugins/tinycomments/langs/pt_PT.js
./plugins/tinycomments/langs/ro.js
./plugins/tinycomments/langs/ru.js
./plugins/tinycomments/langs/sk.js
./plugins/tinycomments/langs/sl_SI.js
./plugins/tinycomments/langs/sv_SE.js
./plugins/tinycomments/langs/th_TH.js
./plugins/tinycomments/langs/tr.js
./plugins/tinycomments/langs/uk.js
./plugins/tinycomments/langs/zh_CN.js
./plugins/tinycomments/langs/zh_TW.js
./plugins/tinycomments/plugin.js
```

### Enhanced Media Embed (`mediaembed`)

```
./plugins/mediaembed/content.min.css
./plugins/mediaembed/plugin.js
```

### Export (`export`)

> **Note:** The plugin language files (such as `./plugins/plugin/langs/sv_SE.js`) are required where the editor user interface is localized using the [`language` option](../content-localization/#language).

```
./plugins/export/exporters/clientpdf.js
./plugins/export/langs/ar.js
./plugins/export/langs/bg_BG.js
./plugins/export/langs/ca.js
./plugins/export/langs/cs.js
./plugins/export/langs/da.js
./plugins/export/langs/de.js
./plugins/export/langs/el.js
./plugins/export/langs/es.js
./plugins/export/langs/eu.js
./plugins/export/langs/fa.js
./plugins/export/langs/fi.js
./plugins/export/langs/fr_FR.js
./plugins/export/langs/he_IL.js
./plugins/export/langs/hr.js
./plugins/export/langs/hu_HU.js
./plugins/export/langs/id.js
./plugins/export/langs/it.js
./plugins/export/langs/ja.js
./plugins/export/langs/kk.js
./plugins/export/langs/ko_KR.js
./plugins/export/langs/nb_NO.js
./plugins/export/langs/nl.js
./plugins/export/langs/pl.js
./plugins/export/langs/pt_BR.js
./plugins/export/langs/pt_PT.js
./plugins/export/langs/ro.js
./plugins/export/langs/ru.js
./plugins/export/langs/sk.js
./plugins/export/langs/sl_SI.js
./plugins/export/langs/sv_SE.js
./plugins/export/langs/th_TH.js
./plugins/export/langs/tr.js
./plugins/export/langs/uk.js
./plugins/export/langs/zh_CN.js
./plugins/export/langs/zh_TW.js
./plugins/export/plugin.js
```

### Format Painter (`formatpainter`)

```
./plugins/formatpainter/plugin.js
```

### Link Checker (`linkchecker`)

```
./plugins/linkchecker/content.min.css
./plugins/linkchecker/plugin.js
```

### Mentions (`mentions`)

```
./plugins/mentions/css/mentions.css
./plugins/mentions/plugin.js
```

### Page Embed (`pageembed`)

```
./plugins/pageembed/css/empa30.css
./plugins/pageembed/plugin.js
```

### Permanent Pen (`permanentpen`)

```
./plugins/permanentpen/plugin.js
```

### PowerPaste (`powerpaste`)

> **Note:** The plugin language files (such as `./plugins/plugin/langs/sv_SE.js`) are required where the editor user interface is localized using the [`language` option](../content-localization/#language).

```
./plugins/powerpaste/js/wordimport.js
./plugins/powerpaste/langs/ar.js
./plugins/powerpaste/langs/bg_BG.js
./plugins/powerpaste/langs/ca.js
./plugins/powerpaste/langs/cs.js
./plugins/powerpaste/langs/da.js
./plugins/powerpaste/langs/de.js
./plugins/powerpaste/langs/el.js
./plugins/powerpaste/langs/es.js
./plugins/powerpaste/langs/eu.js
./plugins/powerpaste/langs/fa.js
./plugins/powerpaste/langs/fi.js
./plugins/powerpaste/langs/fr_FR.js
./plugins/powerpaste/langs/he_IL.js
./plugins/powerpaste/langs/hr.js
./plugins/powerpaste/langs/hu_HU.js
./plugins/powerpaste/langs/id.js
./plugins/powerpaste/langs/it.js
./plugins/powerpaste/langs/ja.js
./plugins/powerpaste/langs/kk.js
./plugins/powerpaste/langs/ko_KR.js
./plugins/powerpaste/langs/nb_NO.js
./plugins/powerpaste/langs/nl.js
./plugins/powerpaste/langs/pl.js
./plugins/powerpaste/langs/pt_BR.js
./plugins/powerpaste/langs/pt_PT.js
./plugins/powerpaste/langs/ro.js
./plugins/powerpaste/langs/ru.js
./plugins/powerpaste/langs/sk.js
./plugins/powerpaste/langs/sl_SI.js
./plugins/powerpaste/langs/sv_SE.js
./plugins/powerpaste/langs/th_TH.js
./plugins/powerpaste/langs/tr.js
./plugins/powerpaste/langs/uk.js
./plugins/powerpaste/langs/zh_CN.js
./plugins/powerpaste/langs/zh_TW.js
./plugins/powerpaste/plugin.js
```

### Spell Checker Pro (`tinymcespellchecker`)

> **Note:** The plugin language files (such as `./plugins/plugin/langs/sv_SE.js`) are required where the editor user interface is localized using the [`language` option](../content-localization/#language).

```
./plugins/tinymcespellchecker/langs/ar.js
./plugins/tinymcespellchecker/langs/bg_BG.js
./plugins/tinymcespellchecker/langs/ca.js
./plugins/tinymcespellchecker/langs/cs.js
./plugins/tinymcespellchecker/langs/da.js
./plugins/tinymcespellchecker/langs/de.js
./plugins/tinymcespellchecker/langs/el.js
./plugins/tinymcespellchecker/langs/es.js
./plugins/tinymcespellchecker/langs/eu.js
./plugins/tinymcespellchecker/langs/fa.js
./plugins/tinymcespellchecker/langs/fi.js
./plugins/tinymcespellchecker/langs/fr_FR.js
./plugins/tinymcespellchecker/langs/he_IL.js
./plugins/tinymcespellchecker/langs/hr.js
./plugins/tinymcespellchecker/langs/hu_HU.js
./plugins/tinymcespellchecker/langs/id.js
./plugins/tinymcespellchecker/langs/it.js
./plugins/tinymcespellchecker/langs/ja.js
./plugins/tinymcespellchecker/langs/kk.js
./plugins/tinymcespellchecker/langs/ko_KR.js
./plugins/tinymcespellchecker/langs/nb_NO.js
./plugins/tinymcespellchecker/langs/nl.js
./plugins/tinymcespellchecker/langs/pl.js
./plugins/tinymcespellchecker/langs/pt_BR.js
./plugins/tinymcespellchecker/langs/pt_PT.js
./plugins/tinymcespellchecker/langs/ro.js
./plugins/tinymcespellchecker/langs/ru.js
./plugins/tinymcespellchecker/langs/sk.js
./plugins/tinymcespellchecker/langs/sl_SI.js
./plugins/tinymcespellchecker/langs/sv_SE.js
./plugins/tinymcespellchecker/langs/th_TH.js
./plugins/tinymcespellchecker/langs/tr.js
./plugins/tinymcespellchecker/langs/uk.js
./plugins/tinymcespellchecker/langs/zh_CN.js
./plugins/tinymcespellchecker/langs/zh_TW.js
./plugins/tinymcespellchecker/plugin.js
```

## Community plugins

### Advanced List (`advlist`)

```
./plugins/advlist/plugin.js
```

### Anchor (`anchor`)

```
./plugins/anchor/plugin.js
```

### Autolink (`autolink`)

```
./plugins/autolink/plugin.js
```

### Autoresize (`autoresize`)

```
./plugins/autoresize/plugin.js
```

### Autosave (`autosave`)

```
./plugins/autosave/plugin.js
```

### BBCode (`bbcode`)

```
./plugins/bbcode/plugin.js
```

### Character Map (`charmap`)

```
./plugins/charmap/plugin.js
```

### Code (`code`)

```
./plugins/code/plugin.js
```

### Code Sample (`codesample`)

```
./plugins/codesample/plugin.js
```

### Directionality (`directionality`)

```
./plugins/directionality/plugin.js
```

### Emoticons (`emoticons`)

```
./plugins/emoticons/js/emojiimages.js
./plugins/emoticons/js/emojis.js
./plugins/emoticons/plugin.js
```

### Full Page (`fullpage`)

```
./plugins/fullpage/plugin.js
```

### Full Screen (`fullscreen`)

```
./plugins/fullscreen/plugin.js
```

### Help (`help`)

```
./plugins/help/plugin.js
```

### Horizontal Rule (`hr`)

```
./plugins/hr/plugin.js
```

### Image (`image`)

```
./plugins/image/plugin.js
```

### Image Tools (`imagetools`)

```
./plugins/imagetools/plugin.js
```

### Import CSS (`importcss`)

```
./plugins/importcss/plugin.js
```

### Insert Date/Time (`insertdatetime`)

```
./plugins/insertdatetime/plugin.js
```

### Legacy Output (`legacyoutput`)

```
./plugins/legacyoutput/plugin.js
```

### Link (`link`)

```
./plugins/link/plugin.js
```

### Lists (`lists`)

```
./plugins/lists/plugin.js
```

### Media (`media`)

```
./plugins/media/plugin.js
```

### Nonbreaking Space (`nonbreaking`)

```
./plugins/nonbreaking/plugin.js
```

### Noneditable (`noneditable`)

```
./plugins/noneditable/plugin.js
```

### Page Break (`pagebreak`)

```
./plugins/pagebreak/plugin.js
```

### Paste (`paste`)

```
./plugins/paste/plugin.js
```

### Preview (`preview`)

```
./plugins/preview/plugin.js
```

### Print (`print`)

```
./plugins/print/plugin.js
```

### Quick Toolbar (`quickbars`)

```
./plugins/quickbars/plugin.js
```

### Save (`save`)

```
./plugins/save/plugin.js
```

### Search and Replace (`searchreplace`)

```
./plugins/searchreplace/plugin.js
```

### Spell Checker (`spellchecker`)

```
./plugins/spellchecker/plugin.js
```

### Tab Focus (`tabfocus`)

```
./plugins/tabfocus/plugin.js
```

### Table (`table`)

```
./plugins/table/plugin.js
```

### Template (`template`)

```
./plugins/template/plugin.js
```

### Text Pattern (`textpattern`)

```
./plugins/textpattern/plugin.js
```

### Table of Contents (`toc`)

```
./plugins/toc/plugin.js
```

### Visual Block (`visualblocks`)

```
./plugins/visualblocks/plugin.js
```

### Visual Characters (`visualchars`)

```
./plugins/visualchars/plugin.js
```

### Word Count (`wordcount`)

```
./plugins/wordcount/plugin.js
```
