Our visual editor is displaying raw HTML: enter image description here

If I click on Visual or Text, nothing happens at all - the click isn't registering.

My profile does not have "disable visual editor" checked.

The same thing happens in Chrome, Opera & Firefox.

I have disabled all themes and plugins without change.

I have uploaded /wp-admin & /wp-includes without change.

What other things can I try to restore the visual editor?

  • Some people have noticed that wrong .htaccess file can cause the same issue too. Did you edit it earlier? Commented Mar 4, 2014 at 12:13
  • @SudeepKRana: there is nothing in .htaccess out of the ordinary.
    – Steve
    Commented Mar 6, 2014 at 2:27
  • 3
    Any javascript errors?
    – birgire
    Commented Jul 2, 2014 at 10:58
  • 1
    You'll need to use your browsers developer toolbar to get down to the cause of this error: 1. Look in the console if there are any javascript errors 2. Look in the network tab if there are any failed (40*, 50*) requests.
    – s1lv3r
    Commented Jul 2, 2014 at 13:31
  • 1
    I would check your functions.php file for any mentions of tiny_mce - if it's an old wordpress site that's been upgraded, over the years the TinyMCE has gone through a lot of changes and an old function MAY be breaking it. You COULD also try installing a plugin like AdvancedTinyMCE to see if it solves anything but I imagine the plugin just extends the native editor.
    – Bysander
    Commented Jul 3, 2014 at 15:59

9 Answers 9


This almost certainly happens because WordPress cannot load the TinyMCE editor files or the TinyMCE javascript code could not be run. Try these things:

1) Make sure your browser has javascript enabled!

2) Open this URL in your browser http://<yoursite>/wp-includes/js/tinymce/wp-tinymce.php You should see a lot of text, starting something like this:

// (2014-04-09)
!function(e,t){"use strict";function ...

If you see this text then go to point 3 below, otherwise you possibly see one of those responses:

  • You get a 403 error: There's a problem with your .htaccess or other web server configuration.
  • You get a 404 error: Check if the file wp-includes/js/tinymce/wp-tinymce.php exists; if it does then make sure the permissions of all directories and the .php file itself are set to to 755 (read + execute)
  • You get a 500 error or a white page: There's something fundamently wrong on the page. Try to disable all your plugins and switch to the Twentyfourteen theme. Then turn on each plugin one by one and test the page after each plugin is enabled

3) With Firefox or Google Chrome log into your WordPress Admin. Hit F12 if you are using Windows or Cmd+Alt+I if you have a Mac -> this brings up some developer tools. Now edit your post and check if there is an error message displayed in the console of the developer tools.

Most likely there is a javascript error. You need to deal with that JS error to solve the issue; I cannot give a general tip how to do this, as this is very individually. However, any error could be caused by a plugin or the theme you are using. You can try the same stuff as for the 500-error above.

In case this did not solve your problem or you need more help please post additional information as a comment here what both tests did return (i.e. which JS error or what error code you got)

  • I tried loading /wp-includes/js/tinymce/wp-tinymce.php, and gave a 404. I opened /wp-includes/ in FTP, and discovered an .htaccess with <Files *.php> deny from all </Files>
    – Steve
    Commented Jul 6, 2014 at 8:26
  • Relative url is one of the plugins that break the visual editor. Commented Feb 5, 2017 at 1:43

After days of researching old posts regarding the TinyMCE errors (not finding a URL that was totally ok), I found that Sucuri or Wordfence had added an .htaccess file to the wp-includes folder which was causing conflicts.

Check wp-includes for any rules that may not allow the site to read the proper files.

To do a quick test, backup wp-includes/.htaccess, then empty the file, then reload the page you're trying to edit.

  • In my case it was Sucuri hardening my wp-includes folder. I went to Sucuri Settings > Hardening, and then clicked "Revert Hardening" for the wp-includes option. That fixed the problem, but more importantly, I was able to "Apply Hardening" again and it still worked... looks like Sucuri improved their code.
    – David
    Commented Oct 2, 2018 at 21:14

In our case it was the host. Besides the permission level of the wp-tinymce.php file set to 644 (we changed is to 755), the host was blocking all php execution in that folder wp-includes/js folder. An appreciative strategy but now a headache.

Contrary to another user's response, Wordfence did not add any htaccess file to block this section nor did the issue resolve after disabling all plugins.

In fact, I was able to read any file located at that folder except for any PHP file. That's when I learned about the host restriction.

Hope that helps others with a similar hosting environment.


After migrating to a new host I found I had the same problem. By adding the Database Charset to wp-config.php everything resolved as normal.

define('DB_CHARSET', 'utf8')


I had this exact issue. Could not toggle between Visual / Text tabs on the editor.

My issue turned out to be some dodgy coding in the .htaccess file where I'd specified that all .php file types need to have that extension removed from the URL.

Browser error log pointed out I was missing the .../wp-includes/js/tinymce/wp-tinymce.php file from the server. I checked the server and it definitely was there, checked file permissions and they were fine too. Must mean that the link to the file was causing the issue!

Added the following code in the rewrite .php section of the .htaccess file and this sorted my issue.

RewriteCond %{REQUEST_URI} !/wp-includes/js/tinymce/wp-tinymce\.php

Hope this helps.


None of the solutions above worked for me. Then I found help at 1:55 in the following Youtube video: https://www.youtube.com/watch?v=tGdj1lKPTs8

Ie I pasted the following code into my site's wp-config.php file just below the ?php part

define('CONCATENATE_SCRIPTS', false);

I have no idea what this code means or does, but it fixed the problem for me.


There is an interesting post here. WordPress not being able to know the version of a browser breaks some of its functionality, as claimed in the linked source. Some of them were able to fix broken visual editor problem by changing 'anonymity' settings either on Anti-Virus or on Firewall.

If this approach works then I think a firewall rule to allow sharing browser information for requests from a specific IP(where WordPress is installed) would be the solution. I also can't see this as a solution if 'Wp Admin' is being accessed from outside of a network.


I had a similar problem. My text and visual editor were totally screwed up. I discovered that this is because of the SiteOrigin Page Builder Plugin I'm using for several pages.

But after installing the SiteOrigin Widgets Bundle, this two editor views were fixed. This might be a hotfix for other people not using the page builder. Just install both plugins and you have a working text editor. It might not be the default WP editor but the one from SiteOrigin but that's fine for my usecase.


I checked all over about this. I could not edit or see text in wordpress posts or pages. It seemed to narrow down to the tinymce plugin where I found errors through the Chrome console. I tried a number of things without luck. So I disabled tinymce and all is running smoothly. How simple for a problem with so many variables and options for a fix.

Not the answer you're looking for? Browse other questions tagged or ask your own question.