---
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/7/bundling-plugins/index.md"
version: "7"
last_updated: "2024-05-08T02:33:32Z"
tokens: 1253
---
Important This page documents TinyMCE 7. 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 plugin. The file paths shown are relative to the root TinyMCE package directory, where `tinymce.min.js` is stored. For example:

```
./
├── icons/
├── langs/
├── license.txt
├── models/
├── plugins/
├── readme.txt
├── skins/
├── themes/
├── tinymce.d.ts
├── tinymce.js
├── tinymce.min.js
└── version.txt
```

> **Note:** If using TinyMCE 7.0.1 or earlier, please refer to [Bundling TinyMCE plugins using module loading](/docs/tinymce/6/bundling-plugins/) from the TinyMCE v6 documentation guide.

## Required base folder

The below base folder is required for each plugin when bundling TinyMCE.

```js
./plugins/<plugincode>
```
Example syntax for including the example "<plugincode>" plugin in a bundle using `content.js`for bundling:

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

**Example:**

```js
import 'tinymce/plugins/<plugincode>';
```
**Module Syntax:** ES6+ · **Source:** `.zip`

**Example:**

```js
import '../tinymce/plugins/<plugincode>';
```
**Module Syntax:** Common JS · **Source:** npm

**Example:**

```js
require('tinymce/plugins/<plugincode>');
```
**Module Syntax:** Common JS · **Source:** `.zip`

**Example:**

```js
require('../tinymce/plugins/<plugincode>');
```

## Contents

### Premium plugins

> **Note:** Currently `.zip` style bundling is only available for premium plugins.
When bundling, replace the `plugincode` with the specific plugins in your TinyMCE configuration.

> **Note:** Plugin language files (such as `./plugins/<plugincode>/langs/sv_SE.js`) are required where the editor user interface is localized using the [language option](../ui-localization/#language).
> 
> The below plugins require these [plugin-language-files](#plugin-language-files)
> 
> - AI Assistant (ai)
> - Accessibility Checker (a11ychecker)
> - Enhanced Code (advcode)
> - Enhanced Tables (advtable)
> - Templates (advtemplate)
> - Spelling Autocorrect (autocorrect)
> - Image Editing (editimage)
> - Export to PDF (exportpdf)
> - Export to Word (exportword)
> - Footnotes (footnotes)
> - Import from Word (importword)
> - Merge Tags (mergetags)
> - Page Embedding (pageembed)
> - PowerPaste (powerpaste)
> - Revision History (revisionhistory)
> - Table of Contents (tableofcontents)
> - Comments (tinycomments)
> - Spell Checker (tinymcespellchecker)
> - Typography (typography)

### Community plugins

When bundling, replace the `plugincode` with the specific plugins in your TinyMCE configuration.

> **Tip:** The below plugin also requires additional files to be included along side the [base folder](#base-folder).

#### Emoticons (`emoticons`)

Requires other js files
```js
./plugins/emoticons/js/emojiimages.js
./plugins/emoticons/js/emojis.js
```

> **Note:** Only one of the above `.js` files are required, depending on which one is chosen through the `emoticons_database` setting.

### Plugin language files

> **Important:** Replace `<plugincode>` placeholder with the specific `plugincode` when adding the plugin language files to your config.

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