---
title: "Upgrading TinyMCE"
description: "How to upgrade TinyMCE via TinyMCE Cloud, package manager options, Self-hosted, and custom build options."
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/upgrading/"
md_url: "https://www.tiny.cloud/docs/tinymce/5/upgrading/index.md"
version: "5"
last_updated: "2024-04-09T10:06:54Z"
tokens: 958
---
Important This page documents TinyMCE 5. For new projects, Tiny recommends using the latest, most up-to-date version. [See TinyMCE 8 documentation](../../latest/upgrading/).
# Upgrading TinyMCE

## Upgrading to the latest version of TinyMCE 5

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

- [Upgrading Tiny Cloud](#upgradingtinycloud).
- [Upgrading TinyMCE Self-hosted using a package manager](#upgradingtinymceself-hostedusingapackagemanager).
- [Upgrading TinyMCE Self-hosted manually](#upgradingtinymceself-hostedmanually).

### Upgrading Tiny Cloud

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

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

Select from the following package managers.

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

#### Yarn

To upgrade to TinyMCE 5.10 using Yarn, run:

```sh
$ yarn upgrade tinymce
```

#### npm

To upgrade to TinyMCE 5.10 using npm, run:

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

#### Composer

To upgrade to TinyMCE 5.10 using Composer, run:

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

#### NuGet

To upgrade to TinyMCE 5.10 using NuGet, run:

```sh
$ Install-Package TinyMCE
```

#### Bower

To upgrade to TinyMCE 5.10 using Bower, run:

```sh
$ bower install tinymce#5.10 --save
```

### Upgrading TinyMCE Self-hosted manually

To upgrade to TinyMCE 5.10 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/
├── 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
  - Custom themes
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`](../content-appearance/#content_css).
> - Set the location of custom plugins using [`external_plugins`](../integration-and-setup/#external_plugins).
> - Set the location of custom icon packages using [`icons_url`](../editor-appearance/#icons_url) instead of `icons`.
> - Set the location of custom localization packages using [`language_url`](../content-localization/#language_url) instead of `language`.
> - Set the location of custom skin packages using [`skin_url`](../editor-appearance/#skin_url) instead of `skin`.
> - Set the location of custom themes using [`theme_url`](../editor-appearance/#theme_url) instead of `theme`.
