Awesome Open Source
Awesome Open Source

Nextcloud Text

GitHub Workflow Status Start contributing

** Collaborative document editing!**


  • ** Simple focused writing:** No distractions, only the formatting you need.
  • ** Work together:** Share and collaborate with friends and colleagues, no matter if they use Nextcloud or not!
  • ** Open format:** Files are saved as Markdown, so you can edit them from any other text app too.
  • ** Strong foundation:** We use tiptap which is based on ProseMirror huge thanks to them!

Nextcloud Text is the default text editor since Nextcloud 17. To start editing just open an existing markdown or plaintext file or create a new one.


The rich workspaces in the file list can be disabled either by the users in the files app settings or globally by the admin with the following occ command:

occ config:app:set text workspace_available --value=0

Development setup

Currently this app requires the main branch of the Viewer app.

  1. Clone this app into the apps folder of your Nextcloud: git clone
  2. In the folder of the app, run the command make to install dependencies and build the Javascript.
  3. Enable the app through the app management of your Nextcloud
  4. Partytime! Help fix some issues and review pull requests

Advanced development stuff

To build the Javascript whenever you make changes, instead of the full make you can also run npm run build. Or run npm run watch to rebuild on every file save.

Testing the app

Currently this app uses three different kinds of tests:

For testing the backend (PHP) Psalm and PHPUnit are used, you can run the testcases (placed in tests/) using the composer scripts psalm and test:unit.

For testing the frontend jest is used for unittests, whereas cypress is used for end2end testing. The unittests are also placed in src/tests/, the cypress tests are placed in cypress/. You can run the tests using the package scripts npm run test (jest), and respective npm run test:cypress (cypress).

Please note the cypress tests require a nextcloud server running, the if no running server is detected a docker container will be started, this requires the current user to be in the docker group. Or you might set the CYPRESS_baseUrl environment variable for a custom nextcloud server.

Adding support for other mime types

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,157,171
Vue (73,041
Text (32,747
Editor (31,787
Markdown (30,264
Collaboration (6,214
Wysiwyg (1,550
Nextcloud (1,058
Wysiwyg Editor (502
Rich Text (491
Rich Text Editor (278
Collaborative Editing (203
Prosemirror (77
Nextcloud App (52
Tiptap (48