2024 Rich Text Editing Developer Survey

Share your thoughts on the future of collaborative rich text editing. (Our survey takes about 10 mins)

Have your say

CKFinder

A powerful file manager with image editing and different image upload options.

Upload images and manage files

  • Drag & drop and paste images from clipboard into the editor.
  • Automatically upload images from Word documents.
  • Group files into folders and subfolders.
  • Move or copy files between folders.
  • Filter files to easily find what you need.

Crop, rotate, edit & resize images

  • Your files are fully under your control. Store them on a server where you installed CKFinder or configure it to send the files using FTP.
  • CKFinder comes with several ready-to-use adapters to save your files to popular cloud storages: Dropbox, Amazon S3 or Microsoft Azure.
  • The CKFinder architecture allows for writing adapters for hosting files virtually anywhere, including a database.

Upload files anywhere you like

Local server

Your files are fully under your control. Store them on a server where you installed CKFinder or configure it to send the files using FTP.

Ready-to-use adapters

CKFinder comes with several ready-to-use adapters to save your files to popular cloud storages: Dropbox, Amazon S3 or Microsoft Azure.

Write your own adapter

The CKFinder architecture allows for writing adapters for hosting files virtually anywhere, including in a database.

Integrations

Your files are secure

  • Define granular permissions per folders and subfolders. You can make some folders read-only or disallow access for unauthenticated users.
  • Give users their own private folders and a shared public space.
  • Control the allowed and disallowed file extension types.

Customize it easily!

  • Read-only mode. Set up CKFinder without upload features, letting your users choose from a predefined list of files or images (e.g. stock photos).
  • Compact mode. Display files without the folders tree in a nice compact way.
  • Multiple configuration options, friendly API, detailed documentation and ability to be extended with custom plugins allow you to fully adjust CKFinder to your needs.

Trusted and approved by

Want to learn more about CKEditor?

We use cookies and other technologies to provide you with a better user experience.

Learn more about cookies policy

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });