Tiny Logo
Log In

The best rich text editor for
project and workflow management apps

Building or extending. Collaborating or streamlining.
No matter the project, TinyMCE works best

Get TinyMCE FREEExplore Premium Plans

[DEMO] Show TinyMCE in action

Tiny Logo
Comments

Add a comment ...

    Great job! 👍

Done
Details
Assignee

Mike Smith

Reporter

Tiny

Status

Ready

Labels

TinyMCE6

Team

Tiny

Tags

Speed up proposal and project workflows

The TinyMCE WYSIWYG editor improves your ROI, increases usage, decreases support costs and streamlines the UX of your business process management software.

Your developers have full control of the code, UI, configuration and integrations, while your non-technical users can create, manage and modify every type of content within your document collaboration software, including emails, proposals, timelines, planning and reports.

Workflow starter config

Without code tipsWithout code tipsWith code tips

The basic editing experience every workflow application should start with. Includes all the editing controls your users expect, plus PowerPaste, Accessibility Checker, Enhanced Image Editing and more.

1<!doctype html>
2<html>
3
4<head>
5    <meta charset="utf-8">
6    <title>Workflow style demo</title>
7    <meta name="viewport" content="width=device-width, initial-scale=1">
8    <script src="https://cdn.tiny.cloud/1/no-api-key/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>
9
10    <script>
11    let commonConfig = {
12      plugins: "emoticons image editimage link lists table codesample advtable advcode media mediaembed linkchecker autolink tinymcespellchecker powerpaste checklist",
13      menubar: false,
14      icons: 'thin',
15      skin: 'naked',
16      inline: true,
17      toolbar_persist: true,
18      object_resizing: false,
19      mobile: {
20          toolbar_mode: 'floating'
21      },
22      spellchecker_language: 'en',
23      spellchecker_active: true
24
25  }
26  tinymce.init({
27      selector: "#editor-description-content",
28      toolbar: "blocks | bold italic forecolor backcolor | numlist bullist checklist | link image emoticons table codesample hr blockquote | code ",
29      fixed_toolbar_container: '#editor-description-toolbar',
30      placeholder: "Add a description",
31      setup: (editor) => {
32
33          editor.on('focus', () => {
34              document.getElementById('editor-description-wrap').classList.add('enabled');
35          });
36      },
37      ...commonConfig,
38  });
39  tinymce.init({
40      selector: "#editor-comment-content",
41      toolbar: "bold italic forecolor backcolor | numlist bullist | link image emoticons codesample blockquote ",
42      placeholder: "Add a comment...",
43      fixed_toolbar_container: '#editor-comment-toolbar',
44      setup: (editor) => {
45          editor.on('focus', () => {
46              document.getElementById('editor-comment-wrap').classList.add('enabled');
47          });
48      },
49      ...commonConfig,
50  });
51
52  function save(id) {
53      document.getElementById(id).classList.remove('enabled');
54  }
55    </script>
56    <style>
57        body {
58            margin: 2rem .5rem;
59            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;
60        }
61
62        main {
63            max-width: 720px;
64            margin: auto;
65        }
66
67        .editor-wrap.enabled {
68            border-radius: 3px;
69            border: 1px solid #ccc;
70        }
71
72        .editor-content {
73            transition: min-height .25s, padding-bottom .25s;
74            min-height: 0;
75            outline: none;
76            border-radius: 1px;
77            transition: box-shadow .15s, background-color .15s;
78        }
79
80        .editor-content>*:first-child {
81            margin-top: 0;
82        }
83
84        .editor-content>*:last-child {
85            margin-bottom: 0;
86        }
87
88        .editor-wrap#editor-description-wrap:hover:not(.enabled) .editor-content {
89            background-color: #efefef;
90            box-shadow: 0 0 0 6px #efefef;
91        }
92
93        .editor-wrap.enabled .editor-content {
94            min-height: 140px;
95            padding: 1rem;
96        }
97
98        .editor-toolbar {
99            padding: 3px;
100            display: none;
101            border-bottom: 1px solid #ccc;
102            z-index: 1;
103        }
104
105        .editor-wrap.enabled .editor-toolbar {
106            display: block;
107        }
108
109        .editor-footer {
110            margin: 1rem;
111            display: none;
112            padding-top: .5rem;
113        }
114
115        .editor-wrap.enabled .editor-footer {
116            display: block;
117        }
118
119        .editor-save-btn {
120            background: #207ab7;
121            font-size: 16px;
122            font-weight: bold;
123            color: #fff;
124            border: none;
125            outline: none;
126            height: 34px;
127            line-height-step: 34px;
128            padding: 0 16px;
129            border-radius: 4px;
130            margin: 0;
131            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
132            -webkit-user-select: none;
133        }
134
135        .editor-cancel-btn {
136            background: #dfe3ec;
137            font-size: 16px;
138            font-weight: bold;
139            color: #17224f;
140            border: none;
141            outline: none;
142            height: 34px;
143            line-height-step: 34px;
144            padding: 0 16px;
145            border-radius: 4px;
146            margin: 0;
147            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
148            -webkit-user-select: none;
149        }
150
151        .editor-label {
152            font-size: 19px;
153            margin: 2rem 0 1rem;
154            display: block;
155        }
156
157        .comment {
158            display: flex;
159        }
160
161        .avatar {
162            background-color: #ff9999;
163            color: #17224f;
164            font-size: 18px;
165            font-weight: bold;
166            border-radius: 100px;
167            width: 42px;
168            height: 42px;
169            line-height: 42px;
170            text-align: center;
171            margin-right: 1rem;
172        }
173
174        .editor-wrap#editor-comment-wrap {
175            border: 1px solid #ccc;
176            border-radius: 3px;
177            flex-grow: 1;
178        }
179
180        .editor-wrap#editor-comment-wrap .editor-content {
181            padding: 1rem;
182        }
183        /* and not namespaced to `.editor-content` */
184
185        a,
186        a:link {
187            color: blue;
188        }
189
190        a:visited {
191            color: purple;
192        }
193
194        a:hover {
195            color: green;
196        }
197
198        a:active {
199            color: red;
200        }
201
202        h1 {
203            font-size: 1.75rem;
204            font-weight: strong;
205        }
206
207        h2 {
208            font-size: 1.5rem;
209            font-weight: strong;
210        }
211
212        h3 {
213            font-size: 1rem;
214            font-weight: strong;
215        }
216
217        hr {
218            margin: 1.5rem 0;
219            padding: .5rem 0;
220            border: 0;
221        }
222
223        hr::after {
224            content: '';
225            display: block;
226            border-width: 0 0 1px 0;
227            border-color: #ccc;
228            border-style: solid;
229        }
230
231        img {
232            max-width: 100%;
233            height: auto;
234        }
235
236        .tox.tox-tinymce-aux .tox-toolbar__overflow {
237            background-color: #fff !important;
238        }
239    </style>
240</head>
241
242<body>
243    <main>
244        <label class="editor-label">Description</label>
245        <div class="editor-wrap" id="editor-description-wrap">
246            <div class="editor-toolbar" id="editor-description-toolbar"></div>
247            <div class="editor-content" id="editor-description-content">
248                <h2><strong>What&rsquo;s your rich text editor </strong><strong>workflow</strong><strong> project?&nbsp;</strong></h2>
249                <p>Are you&hellip;</p>
250                <ul>
251                    <li><strong>Building a new workflow or project management platform</strong> and need to add rich text editing functionality?</li>
252                    <li><strong>Extending your existing workflow or project management app</strong> and need to enhance your default editor?</li>
253                </ul>
254                <p>Then use the only WYSIWYG editor that&rsquo;s trusted by 1.5M developers.</p>
255                <h3><strong>Curious about TinyMCE?</strong></h3>
256                <p>Click inside this box to activate the editor and see how it works!</p>
257            </div>
258            <footer class="editor-footer">
259                <button type="button" id="save-description-btn" onclick="save('editor-description-wrap')" class="editor-save-btn">Save</button>
260                <button type="button" onclick="alert('Your own custom save function')" class="editor-cancel-btn">Cancel</button>
261            </footer>
262        </div>
263
264        <label class="editor-label">Comments</label>
265        <div class="comment">
266            <div class="avatar">FD</div>
267            <div class="editor-wrap" id="editor-comment-wrap">
268                <div class="editor-toolbar" id="editor-comment-toolbar"></div>
269                <div class="editor-content" id="editor-comment-content"></div>
270                <footer class="editor-footer">
271                    <button type="button" id="save-description-btn" onclick="alert('Your own custom save function')" class="editor-save-btn">Save</button>
272                    <button type="button" onclick="alert('Your own custom cancel function')" class="editor-cancel-btn">Cancel</button>
273                </footer>
274            </div>
275        </div>
276    </main>
277</body>
278
279</html>
280

"The communication ability of Project.co has been dramatically improved after integrating TinyMCE… TinyMCE works the way it’s supposed to every time, which is I think the most important thing. It's always good to know that you're using the best available tools."

Matt Byrom|Manager Director, Project.co

"One thing that has been great for us is the ability to insert data metrics. That was a big reason why we chose TinyMCE. These proposals are specific to each individual sales prospect, and they have a lot of dynamic data in terms of pricing and savings—all the different numbers that go into them. Having the ability to add and remove these dynamic fields has been key for us."

Mariya Nomanbhoy|COO, Sighten

"TinyMCE has allowed us to stand apart from our competition. We can now say that we have a solution that truly allows our users to customize how their content looks as easily as they would a Word document, but still keep our own branding."

Justin Witz|CTO & Co-Founder, Catapult

"I've worked with lots of different editors, but TinyMCE was the simplest to implement. The amount of functionality you get right out of the box would be foolhardy to try and recreate. TinyMCE solves lots of problems, and it's been trusted by the industry for longer than anything else that I know of."

Tim Craver|Development Manager, Allied Solutions

When you need the best WYSIWYG editor for managing workflows

Our editor delivers the best

Faster speed-to-market

Save years of developer time and hundreds of thousands of dollars in engineering costs by leveraging our out-of-the-box editor and 24/7 support team. The best workflow editor gets you to market faster.

Focus on custom and complex use cases, across all types of workflows

Explore features:

Template icon
Templates
Faster Speed to Market
Delight your users

Our workflow editor is built to mimic the tools your users know and love. There’s no ramp-up or steep learning curves – it’s an editing experience your users already know and enjoy.

Spotlight on user experience, where the editing tools seamlessly create and manage multiple content structures within a single document and a clean copy-paste experience

Explore features:

Delight Your Users
HTML you can trust

Take the guesswork out of document creation and publish clean and compliant output from the workflow text editor that’s trusted by 1.5M developers, and over 40% of the world’s websites.

Fit within an enterprise-grade tech stack via 400+ customizable APIs and 12+ framework integrations to create the experience users need

Explore features:

HTML You Can Trust

All-in-one workflow editing tool

Every project, proposal or workflow management application needs an intuitive WYSIWYG editor that’s feature-rich and easy to use for content creators, project managers, subject matter experts, or administrators who don’t have coding skills. Equally, the workflow editor must be totally customizable so your developers can control the back-end, integrate with existing tech stacks and be confident the HTML output is clean, quality and compliant.

TinyMCE is downloaded 350M+ times every year and available through either a free, open source license or a paid commercial license.

TinyMCE toolbar menu

All the WYSIWYG features
developers (and users) expect

Editor Control

Editor Control

Give users either unrestricted creative freedom, or just enough to create and edit what they need:

  • Only enable the functionality needed and use Quick Toolbar and keyboard shortcuts to speed up content creation
  • Template functionality to lock-down the editor with Non-editable sections within the document
  • Control the output with a variety of options around HTML and CSS
  • Tokens allow quick, controllable, automated insertion of common data such as name, emails, and more
  • Autosave avoids the risk of losing content
  • Autoresize allows the editor to resize to fit its contents as it expands

Content Creation

Content Creation

Enable users to create content using features they know and love:

  • Error-free clean copy-paste from Word, Excel and Google Docs with PowerPaste
  • Image and Word Count tools that enhance a wide range of content creation projects
  • Range of content formatting tools like Checklists, Advanced Tables and Page Break
  • Enhanced Image Editing lets users apply 10 powerful transformations to their images – crop, rotate, resize and other filters
  • Inline editing to Preview how content looks before publishing
  • Generates clean SEO-friendly HTML output ready to be indexed by search engines
  • Optimized outputs for desktop and mobile

Compliance

Compliance

Ensure user-generated content is aligned with corporate and regulatory standards:

  • Maintain regulatory standards and avoid potential fines and lawsuits with Accessibility Checker (WCAG and ARIA)
  • Build custom dictionaries to ensure content is on-brand with Spell Checker Pro
  • Globally consistent spelling with simultaneous checking of up to 13 languages (plus medical terminology)
  • Eliminate embarrassing broken links with Link Checker
  • When a document is final, export it to a non-editable PDF for safe keeping using PDF Export

Collaboration

Collaboration

Produce better outcomes with collaborative editing tools:

  • Let users collaboratively work on content with secure end-to-end encrypted Real-time Collaboration
  • Enhance peer-to-peer collaboration with Comments and threaded conversations
  • Kickstart conversations with @mentions

File & media management

File & media management

Manage your files or images in the cloud with Tiny Drive:

  • Upload and browse files, and insert images inside TinyMCE
  • Import existing assets from any connected Google Drive or Dropbox account
  • Minimal configuration, integrates seamlessly
  • Secure – uses utilizes JSON Web Tokens (JWT)
  • Scalable – uses Amazon S3 cloud storage
  • Note: Tiny Drive is an add-on to TinyMCE

Internationalization

Internationalization

Provide a consistent and reliable editing experience, from Bogotá to Istanbul:

  • 38 fully-vetted, professional UI translations
  • 37 community-contributed UI translations
  • 13 languages supported with Spell Checker Pro

See full demo | Discover integrations | Explore 60+ features

Ready to use TinyMCE for
your project?

Get a quote

How TinyMCE is different from
the alternatives

Unmatched domain experience

TinyMCE toolbar menu

Every day, the world’s biggest enterprise brands and growing startups rely on TinyMCE for their mission-critical editing needs. For the last two decades, we’ve consistently innovated to create the acknowledged best-in-class rich text editor, that lets developers and creators do more with less by providing:

  • Smooth, lightweight code that achieves both speed and flexibility across every major browser
  • A consistent and reliable release process, providing headache-free upgrades
  • A reliable enterprise-grade editor that's easily customized and also available through an open-source license
  • Reusable, modular components, 400+ APIs and 14+ framework integrations

Frameworks

12+ integrations and 400+ flexible APIs

Easily integrates into your tech stack. Enhances your editing experience. 7 first-party and 5 third-party endorsed integrations that make development easier.

Explore integrations →

Hosting

Get TinyMCE two ways Cloud-based or Self-hosted

Get a Free API key to use TinyMCE from the Cloud or Download the SDK for use in your Self-Hosted application.

See how →

Reliable, responsive and future-facing

TinyMCE toolbar menu

Every day, our Engineering team solves issues the right way, our Product team encourages perfect results (even if launch dates occasionally slip) and the Customer Success team delivers support that’s reliable, fast and friendly. We’re proud of:

  • Maintaining industry-leading response rates across dedicated SLAs
  • 96% support ticket customer satisfaction* (Based on Zendesk ratings)
  • 2.84 hr average response time* (August 2021 data)

Help when and where you need it

Enterprise-Grade Support

Responsive, in-house support to help you implement, customize and troubleshoot.

Learn more →

Community

Thousands of questions and answers updated daily on StackOverflow and Github.

Browse questions →

Documentation

Tutorials, quickstarts, code samples and videos to help you deploy faster.

Explore docs →

Collaborative team that grows with you

TinyMCE toolbar menu

We let companies focus on their core business, so they don’t have to worry about rich text editing. Product teams can delight their users and creators can work smarter, faster and more productively. Our modus operandi is to be:

  • Helpful
  • WYSIWYG and easy to work with
  • Consultative, partnering with you throughout your stages of growth
  • Champions of open source and the dev community who make it all possible

Modify TinyMCE to suit custom use cases

Modify TinyMCE to suit custom use cases

Developers have full source code control for endless customizations

  • Out-of-the-box
  • UI customization
  • API customization
Explore Customization →

Looking for projects that
TinyMCE can be used for?

Access use-case specific starter configs
to kickstart your rich text editing project
Content Management Systems (CMS) ->Email & Messaging Platforms ->Document Management Systems (DMS) ->Customer Relationship Management (CRM) ->Workflow & Collaboration Platforms ->Learning Management Systems (LMS) ->Internal & SaaS Applications ->

Related content

Get TinyMCE FREELet’s chat
Tiny logo

Stay Connected

Products

TinyMCEDriveMoxieManager
© Copyright 2022 Tiny Technologies Inc.

TinyMCE® and Tiny® are registered trademarks of Tiny Technologies, Inc.