Skip to content
Froala Documentation

Migrating from Froala V3 to Froala V5

Migrating from Froala V3 to V5 is a seamless transition with no breaking changes. Users will enjoy the same familiar editor, now with more powerful features, an enhanced user experience, and improved stability.

Install Version 5

To find information on the different options for installing Froala Editor, refer to the Getting Started guide

Initialization

Version 5 and version 3 both support the same initialization method, just add your new API key, and the editor will continue to function as it did before, but with new features available.

The following example shows how to initialize the editor in version 5.

new FroalaEditor('.editor', {
  // Pass options.
  optionName: 'Option Value',
  anotherOption:  'Froala Option',
  yetAnotherOne: 100,
  
  // Bind events
  events: {
    eventName: function (param1, param2) {
      // Get editor instance.
      let editor = this;

      // Callback code here

      // Use editor methods.
      editor.method();

    }
  }
})

Plugins

The following plugins are available when you migrate to version 5:

V5.3.0

V5.2.0

V5.1.0

V5.0.0

V4.7.0

V4.5.2

V4.3.0

V4.2.0

V4.0.0

These plugins, except “Track Changes” plugin, are included by default if you are using the froala_editor.pkgd.js file. Otherwise you should include their corresponding stylesheet and JavaScript files. If you have set the pluginsEnabled option you should add the corresponding plugin identifier.


Sample code:

new FroalaEditor('#froala-editor',  { 
  pluginsEnabled: ['image', 'link', 'exportToWord', 'codeSnippet'],
});
Learn more about how Froala plugins works.

New Options

In addition to the new plugins’ configurations, the following API options has been added:

 

V5.4.0

aiChatWebSearchEnabled Sets whether the web-search toggle in the AI Chat panel starts on or off.
aiChatModels Defines the list of selectable AI models shown in the chat panel’s model dropdown.
aiChatDefaultModel Sets which model from aiChatModels is preselected when the panel opens.
aiChatReasoningEnabled Sets whether the reasoning toggle in the AI Chat panel starts on or off.
aiChatStreamResponse Determines whether AI Chat answers stream in gradually or appear all at once.
aiChatSupportedFileTypes Lists the file extensions users can attach as AI Chat context.
aiChatMaxFileSizeMB Sets the maximum size, in MB, allowed for a single attached file.
aiChatMaxFiles Caps how many files can be attached to one AI Chat conversation.
aiChatRequestTimeoutMs Sets how long, in milliseconds, to wait for an AI Chat response before timing out.
aiChatIncludeReferenceUrlsInContext Controls whether “Reference URL” context sources are also folded into the outgoing prompt text.
aiChatPanelWidth Sets the initial width, in pixels, of the AI Chat panel.
aiChatPanelMaxWidth Sets the maximum width, in pixels, the AI Chat panel can be resized to.
aiChatWelcomeMessage Overrides the intro text shown in the AI Chat panel’s empty-state welcome message.
aiImproveWritingPrompt The instruction sent to the AI backend whenever Improve Writing runs.
selectionActionButtons Lists the command buttons shown in the popup that appears when text is selected.
inlineSuggestions Enables Gmail-style inline “ghost text” continuation suggestions while typing.
inlineSuggestionsDelay Sets the debounce delay, in milliseconds, before an inline suggestion is requested.
inlineSuggestionsPromptTemplate The prompt template sent to the AI model to generate an inline continuation suggestion.
aiSpeechToText Shows a microphone button letting users dictate their AI prompt instead of typing it.
aiSpeechToTextWaveform Shows an animated “Listening…” waveform in place of the prompt input while recording.
aiSpeechToTextListeningText The label shown next to the recording waveform.
aiSpeechToTextMaxDuration Sets the maximum recording duration, in seconds, before transcription is triggered automatically.
aiAssistRequest Custom function to handle AI requests, now able to stream via a third onChunk argument and report webSearchUsed on return.

V5.3.0

fontSizeCustomMin Defines the minimum font size that can be entered in the Custom Font Size dialog
fontSizeCustomMax Defines the maximum font size that can be entered in the Custom Font Size dialog.
importFromWordMammoth Specifies the Mammoth library instance used to import and convert Microsoft Word (.docx) documents into HTML content.

V5.2.0

preserveListLineOnBackspace Prevents Backspace from merging or removing a list item when the cursor is at its start.

V5.0.1

toolbarButtonsEnabledOnEditorOff Specify which toolbar buttons should remain active even when the Froala editor is disabled.
tableHorizontalResizer Control table horizontal resizing.
tableVerticalResizer Control table vertical resizing.

V5.0.0

retainLineBreaksInCellsOnWrap Control how line breaks within a cell are handled when the cell’s content wraps to multiple lines.

V4.7.2

clearFormatOnEnterNewLine Control whether or not the formatting of the current line is carried over to the new line when you press Enter after pasting content.
cleanReduntantStyleOnGet Removes unnecessary styles from parent elements when retrieving the editor’s content.

V4.6.2

proportionalTableResize Controls how a table behaves when you resize it.
enableTableSelection Enable or disable table selection.

V4.6.0

tableDefaultAlign Set the default alignment of the table.
tableDefaultHeight Set the default height of the table.
tableDefaultBGColor Set the default background color of the table.
tableDefaultBorderColor Set the default border color of the table.
tableDefaultBorderWidth Set the default border width of the table.
tableDefaultBorderStyle Set the default border style of the table.

V4.5.1

allowStylingOnNonEditable Specifies whether styling is permitted on non-editable content.

V4.5.0

pluginsDisabled Defines a list of plugins to be excluded in the current editor instance.
lineHeights (updated) Now accept array of objects

V4.2.1

fontFamilyDefaultSelection Apply a default font family.
fontSizeDefaultSelection Apply a default font size.
preserveTabSpaces Customize or not the number of spaces generated by the \t character.
tabSpaces Configure the editor’s Tab key to insert a specific number of spaces.

V4.1.3

tableResizer Enables resizing table cells.
tableResizerOffset The distance in pixels from the table cell’s left or right border to show the resizer.
tableResizingLimit The minimum width in pixels of a table cell is allowed while resizing.

V4.1.0

toolbarResponsiveToEditor Make the editor toolbar responsive based on the editor size instead of the browser window size.

 

A complete list of Froala editor options is available on the Options API page.

New Methods

In addition to the new plugins’ methods, the following API methods has been added:

 

V5.4.0

aiChatAssistant.togglePanelaiChatAssistant.togglePanel aiChatAssistant.isPanelOpenaiChatAssistant.isPanelOpen aiChatAssistant.sendMessageaiChatAssistant.sendMessage aiChatAssistant.addContextSourceaiChatAssistant.addContextSource aiChatAssistant.removeContextSourceaiChatAssistant.removeContextSource aiChatAssistant.hasActiveConversationaiChatAssistant.hasActiveConversation aiChatAssistant.applyToEditoraiChatAssistant.applyToEditor aiChatAssistant.getChatHistoryaiChatAssistant.getChatHistory aiImproveWriting.applyExternalRewriteDirectaiImproveWriting.applyExternalRewriteDirect aiAssist.requestAnswerStreamaiAssist.requestAnswerStream aiImproveWriting.startaiImproveWriting.start aiImproveWriting.hasActiveSessionaiImproveWriting.hasActiveSession aiImproveWriting.isInFlightaiImproveWriting.isInFlight aiImproveWriting.hasActiveCollabReviewaiImproveWriting.hasActiveCollabReview aiImproveWriting.acceptAllSessionaiImproveWriting.acceptAllSession aiImproveWriting.rejectAllSessionaiImproveWriting.rejectAllSession collaborative.isPanelOpencollaborative.isPanelOpen collaborative.hidePanelForCoexistencecollaborative.hidePanelForCoexistence dockPanel.registerCoexistencedockPanel.registerCoexistence dockPanel.unregisterCoexistencedockPanel.unregisterCoexistence markdown.getMarkdownmarkdown.getMarkdown markdown.setMarkdownmarkdown.setMarkdown aiAssist.requestAnsweraiAssist.requestAnswer selection.elementselection.element

V4.6.0

V4.1.0

html.wrap(updated)

 

API Events

In addition to the new plugins’ configurations, the following API events has been added:

 

V5.4.0

markdown.beforeGet Fires before getMarkdown() reads the content; returning false cancels the read.
markdown.afterGet Fires after getMarkdown() has retrieved the content.
markdown.beforeSet Fires before setMarkdown() applies new content; returning false cancels the set.
markdown.set Fires after setMarkdown() has successfully applied the content.
aiAssist.chatPanelResized Fires after the user finishes drag-resizing the AI Chat panel.
aiAssist.chatBeforeApply Fires before a chat response is inserted into the document; returning false cancels the insert.
aiAssist.chatAfterApply Fires after a chat response has been inserted into the document.
aiAssist.improveWritingStarted Fires when an Improve Writing request is sent to the AI backend.
aiAssist.improveWritingResponse Fires when the AI response for an Improve Writing request is received.
aiAssist.reviewStarted Fires when a standalone review session opens for AI-suggested changes.
aiAssist.hunkResolved Fires whenever a single change in the active review session is accepted or rejected.
aiAssist.reviewEnded Fires when a review session ends because every change has been resolved.
aiAssist.beforeHunkInsert Fires once per AI-proposed change during a collaborative Suggesting-mode review.
dockPanel.opening Fires when a registered dock panel is about to become visible.

V5.1.0

drop.afterCleanup This event is triggered just after the clean process during a drop operation.
drop.beforeCleanup This event is triggered just before the clean process during a drop operation.

Integrations

V5 allows you to integrate Froala with modern frameworks and web technologies.

 

Why migrate to V5?

Version 5 offers increased stability and reliability, ensuring a smoother editing experience with fewer disruptions. It also includes a range of new features and bug fixes that enhance functionality and address issues present in previous versions. By upgrading, users can take advantage of these improvements while continuing to enjoy the seamless operation of their favorite editor.

Key improvements:

  • Resolved XSS security vulnerabilities.
  • Collaboration features.
  • AI features.
  • Typescript support.
  • Enhanced tables.
  • Improved accessibility.
  • Better iOS mobile support.
  • Enhanced copying and pasting from Word.
  • YouTube Shorts support.
  • Position the toolbar at the bottom on mobile devices.
  • Disable plugins more easily.
  • Filestack integration

You can read the complete changelog here.

Additional Resources

Froala 5.3.1 release

Froala v5.3.1: Real-Time Collaborative Editing Plugin, Svelte.js Support, and More

Froala Editor v5.3.1 is our biggest release in recent memory, headlined by the brand-new Collaborative plugin that brings real-time editing, comments, suggestions, and version control directly into the editor. This version
Read More
Froala release 5.2.0

Froala Editor V5.2 with Filerobot, CSP Compliance and Stability

We’re thrilled to announce the release of Froala Editor V5.2, a milestone update that brings powerful new capabilities and critical stability improvements to your favorite WYSIWYG editor. This release represents
Read More
Froala 5.1 release with AI assist plugin

Froala 5.1 Release: AI Assist Plugin

Froala 5.1 is here. This release includes performance improvements, bug fixes, and enhanced stability across the editor. But there’s one addition your team has been asking for: Froala AI Assist—a
Read More
Froala V5 tables are so good

Froala V5 Tables Are Worth the Upgrade from V3

Froala V5 makes tables faster to build, easier to format, and consistent by default. Multi-cell selection, proportional resizing, copy-paste cells, and automatic style defaults mean you spend minutes on tables
Read More
toolbar controls

Froala V5.0.1: New Toolbar & Table Controls

Froala Editor V5.0.1 is here, and it brings some highly requested features that give you more granular control over your editor’s behavior. If you’ve ever needed to keep certain toolbar
Read More
Froala V5.0.0

Froala V5.0.0 Release: Code Snippets, Word Imports, and More

Froala V5.0.0 introduces two major features: code snippet insertion with syntax highlighting, and direct Word document import with formatting preserved. This release also includes table handling improvements and updated styling
Read More

Migration support

Get hands-on help migrating your project from our dedicated support team. They are available to assist with any questions or concerns you might have during the transition. Don't hesitate to reach out if you encounter any issues or need guidance on utilizing the new features effectively.

Ready to dive in? Explore our plans