---
title: "Upgrading TinyMCE"
description: "How to upgrade TinyMCE via Tiny Cloud, package manager options, and Self-hosted options."
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/upgrading/"
md_url: "https://www.tiny.cloud/docs/tinymce/latest/upgrading/index.md"
version: "latest"
last_updated: "2025-12-10T03:38:03Z"
tokens: 947
---
# Upgrading TinyMCE

> **Important:** [Learn more about TinyMCE 5 LTS](/long-term-support/) if you need to remain on TinyMCE 5 and continue to receive security updates.

## Upgrading to the latest version of TinyMCE 8

The procedure for upgrading to the latest version of TinyMCE 8 depends on the deployment type.

- [Upgrading Tiny Cloud](#upgrading-tiny-cloud).
- [Upgrading TinyMCE Self-hosted using a package manager](#upgrading-tinymce-self-hosted-using-a-package-manager).
- [Upgrading TinyMCE Self-hosted manually](#upgrading-tinymce-self-hosted-manually).

### Upgrading Tiny Cloud

Tiny Cloud provides the latest enterprise version of TinyMCE. For information on configuring Tiny Cloud, see: [the Cloud deployment guide](../editor-and-features/).

### Upgrading TinyMCE Self-hosted using a package manager

Select from the following package managers.

- [Yarn](#yarn)
- [npm](#npm)
- [Composer](#composer)
- [NuGet](#nuget)

#### Yarn

To upgrade to TinyMCE 8.9 using Yarn, run:

```sh
yarn upgrade tinymce
```

#### npm

To upgrade to TinyMCE 8.9 using npm, run:

```sh
npm install tinymce@latest --save
```
For commercial customers using premium plugins, also upgrade the `tinymce-premium` package:

```sh
npm install tinymce-premium@latest --save
```

> **Note:** The `tinymce` and `tinymce-premium` packages are always released together with matching version numbers. Upgrading both packages together ensures compatibility.

#### Composer

To upgrade to TinyMCE 8.9 using Composer, run:

```sh
composer require tinymce/tinymce
```

#### NuGet

To upgrade to TinyMCE 8.9 using NuGet, run:

```sh
Install-Package TinyMCE
```

### Upgrading TinyMCE Self-hosted manually

To upgrade to TinyMCE 8.9 using a manually downloaded package:

1. Backup the `tinymce/` directory so any customizations can be restored after the upgrade.

Customizations for TinyMCE are typically stored in the following directories:

```sh
tinymce/
├── icons/
├── langs/
├── models/
├── plugins/
├── skins/
│   ├── content/
│   └── ui/
└── themes/
```
2. Download the latest version of TinyMCE.

  - For the TinyMCE Community Version, download `tinymce_<VERSION>.zip` from [Get TinyMCE - Self-hosted releases](/get-tiny/self-hosted/), where `<VERSION>` is the latest version of TinyMCE.
  - For the TinyMCE Enterprise Version, download the **TinyMCE Enterprise Bundle** from [Tiny Account > Downloads](/my-account/downloads/). The downloaded file will be named `enterprise_latest.zip`.
3. Extract the downloaded `.zip` file to a temporary location.
4. (If required) Install the latest language packs from [Get TinyMCE - Language Packages](/get-tiny/language-packages/).
5. Copy customizations to the new `tinymce/` directory. Ensure that *only custom changes* are added the new `tinymce/` directory, such as:

  - Custom icons packs
  - Custom plugins
  - Custom skins
6. Delete the existing `tinymce/` directory and replace with the new `tinymce/`.

> **Note:** To simplify the upgrade process to future versions of TinyMCE:
> 
> 1. Host the TinyMCE customizations outside of the `tinymce/` directory.
> 2. Update your TinyMCE configuration as required:
> 
> - Set the location of content CSS customizations using [`content_css`](../add-css-options/#content_css).
> - Set the location of custom plugins using [`external_plugins`](../editor-important-options/#external_plugins).
> - Set the location of custom icon packages using [`icons_url`](../editor-icons/#icons_url) instead of `icons`.
> - Set the location of custom localization packages using [`language_url`](../ui-localization/#language_url) instead of `language`.
> - Set the location of custom skin packages using [`skin_url`](../editor-skin/#skin_url) instead of `skin`.
