Wiki.js vs. XWiki vs. BookStack vs. PmWiki

General Features Wiki.js XWiki BookStack PmWiki
Version
2.5.299
16.3.1
v21.12.1
2.3.33
Last Release Date
2023-06-02 (11 months ago)
2024-05-09 (9 days ago)
2022-01-05 (2 years ago)
2024-04-20 (28 days ago)
Last Update here
2023-07-30 (9 months ago)
2024-05-13 (5 days ago)
2022-01-08 (2 years ago)
2024-04-21 (27 days ago)
Author
Nicolas Giard
XWiki Development Team
Dan Brown
Petko Yotov (Original author: Patrick R. Michaud)
URL
Free and Open Source
Yes
Yes
Yes
Yes
License
AGPL-v3
LGPL + Free hosting on https://myxwiki.org for individuals/non profit
MIT
GPL2+
Programming Language
Javascript
Java
PHP
PHP
Data Storage
Database, Files, other, RCS
Database, RCS
Database
Files
License Cost/ Fee
0
0
0
0
Development status
Mature
Mature
Mature
Mature
Intended Audience
Everyone
Enterprise, Workgroups, Developers
Small to mid-size groups and businesses
All
Hosting Features Wiki.js XWiki BookStack PmWiki
Storage Quota
N/A
N/A
N/A
Bandwidth Quota
N/A
N/A
N/A
Other Limits
N/A
N/A
N/A
Topic Restrictions
N/A
N/A
N/A
Corporate Branding
N/A
Yes
N/A
N/A
Own Domain
N/A
Yes
N/A
N/A
Ads allowed
N/A
No
N/A
N/A
System Requirements Wiki.js XWiki BookStack PmWiki
Operating System
All
Any platform supporting Java 11 or greater
Linux, Windows and Unix variants
Linux, UNIX, Windows, MacOS X, probably others
Root Access
No
No
No
No
Webserver
All
Servlet 3.1+
Apache, Nginx or others with PHP support
Apache, IIS, anything with PHP support. Can also be run w/o a webserver.
Other Requirements
Node.js
Java 11, MySQL/MariaDB/PostgreSQL/HSQLDB/etc (JDBC Driver required)
Command-line access, PHP7.3+
none
Datastorage Wiki.js XWiki BookStack PmWiki
Text Files
Yes
No
No
Yes
MySQL
Yes
Yes
Yes
Plugin
PostgreSQL
Yes
Yes
No
No
Oracle
No
Yes
No
No
SQLite
Yes
No
No
Plugin
BerkeleyDB
No
No
No
No
RCS
Optional
Plugin
No
Plugin
Other
Compatible with MySQL, MariaDB, MS SQL Server, PostgreSQL or SQLite
JDBC Databases and in general any database supported by Hibernate; any custom implementation, as the storage is pluggable. Attachments can be saved on the filesystem
MariaDB
Compressed, XML and/or ephemeral files (modules). Can provide custom data backends.
Security/Anti-Spam Wiki.js XWiki BookStack PmWiki
Page Permissions
Yes
Yes
Yes
Yes
ACL
Yes
Yes
Yes
Yes
Authentication Backends
Local (built-in), Google, Facebook, Microsoft, GitHub, Azure AD, LDAP, OpenConnectID, Slack, Discord, Auth0, Keycloak, Okta, etc.
XWiki, LDAP, custom (Open API), Kerberos, NTLM, Headers, PUMA, SAML, Trusted LDAP, Sun SSO
SAML2, LDAP, OIDC, ActiveDirectory, Google, GitHub, GitLab, AzureAD, Slack and more
Internal: per page, per group, per user, per user group. External: .htpasswd, LDAP, Active Directory. Plugins: Mailman, forums w/MySQL, oAuth, custom possible.
Host Blocking
No
No
No
Optional
Mail Encryption
Yes
Yes
Yes
Optional
nofollow
Yes
No
No
Yes
Blacklist
No
Plugin
No
Optional
CAPTCHA
No
Yes
No
Plugin
Delayed Indexing
Optional
Yes
No
Optional
Development/Support Wiki.js XWiki BookStack PmWiki
# of Consultants
Preconfigured Hosting
Yes
Yes
No
Yes
Code Repository
Issue Tracker
Mailing List
Support Forum
Chat Channel
Stars on GitHub
19117 ⭐
N/A
10374 ⭐
N/A
Common Features Wiki.js XWiki BookStack PmWiki
Preview
Yes
Yes
Yes
Yes
Minor Changes
No
Yes
No
Yes
Change Summary
No
Yes
Yes
Yes
Page History
Yes
Yes
Yes
Yes
Page Revisions
Unlimited
Unlimited
Restricted by Number
Unlimited
Revision Diffs
Between all
Between all
Between all
Between all
Sitemap
Yes
Yes
No
Yes
Plugin System
Yes
Yes
No
Yes
Special Features Wiki.js XWiki BookStack PmWiki
Unicode Support
Yes
Yes
Yes
Yes
Right-to-Left Support
Yes
No
Yes
Optional
Interface Languages
54
Afrikaans, Amharic, Arabic, Azerbaijani, Bulgarian, Bengali; Bangla, Catalan, Czech, Danish, German, Greek, English, Esperanto, Spanish, Estonian, Basque, Persian, Finnish, French, Hebrew, Hindi, Croatian, Hungarian, Armenian, Icelandic, Italian, Japanese, Kazakh, Cambodian, Korean, Lithuanian, Latvian, Lettish, Macedonian, Mongolian, Dutch, Norwegian, Polish, Portuguese, Brazilian Portuguese, Romanian, Russian, Sinhalese, Slovak, Slovenian, Serbian, Swedish, Tamil, Thai, Turkish, Uighur, Ukrainian, Vietnamese, Chinese, Chinese Traditional
40
Bulgarian, Catalan, Czech, Danish, German, Greek, English, Spanish, Persian, French, Galician, Hindi, Croatian, Hungarian, Indonesian, Italian, Japanese, Cambodian, Kannada, Korean, Lithuanian, Latvian, Lettish, Marathi, Dutch, Norwegian, Polish, Portuguese, Brazilian Portuguese, Romanian, Russian, Sinhalese, Slovak, Slovenian, Swedish, Turkish, Uighur, Ukrainian, Vietnamese, Chinese, Chinese Traditional
29
Arabic, Bulgarian, Catalan, Danish, German, English, Spanish, French, Hebrew, Croatian, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lettish, Dutch, Polish, Portuguese, Brazilian Portuguese, Russian, Slovak, Slovenian, Swedish, Turkish, Ukrainian, Vietnamese, Chinese, Chinese Traditional
38
Arabic, Bulgarian, Breton, Catalan, Czech, Danish, German, Greek, English, Esperanto, Spanish, Persian, Finnish, French, Hungarian, Indonesian, Italian, Japanese, Lithuanian, Latvian, Lettish, Macedonian, Dutch, Norwegian, Polish, Portuguese, Brazilian Portuguese, Romanian, Russian, Slovak, Slovenian, Albanian, Swedish, Tamil, Turkish, Ukrainian, Vietnamese, Chinese, Chinese Traditional
Email notification
No
Yes
No
Optional
Comments
Flat
Threaded
Flat
Discussion Pages
Categories
Yes
Yes
Optional
Yes
Namespaces
Yes
Yes
Yes
Yes
Conflict Handling
Conflict Detection
Conflict Resolution
Conflict Detection
Conflict Resolution
Concurrent Editing
No
Plugin
No
Yes
Search
Full Text
Full Text
Full Text
Full Text
Wiki Farming
No
Yes
No
Yes
Structured Data
No
Yes
No
Yes
Links Wiki.js XWiki BookStack PmWiki
CamelCase
Yes
Yes
No
Optional
Freelinks
Yes
Yes
Yes
Yes
Backlinks
No
Yes
No
Yes
InterWiki
No
Yes
No
Yes
SisterWiki
No
Yes
No
Plugin
Image Links
Yes
Yes
Yes
Yes
Windows Shares
Yes
Yes
No
Yes
Page Redirects
No
Yes
No
Yes
Syntax Features Wiki.js XWiki BookStack PmWiki
HTML Tags
All
All
Optional
Plugin
Math formulas
Yes
Yes
No
Plugin
Tables
simple + complex
simple + complex
simple
simple + complex
CREOLE support
No
Yes
No
Optional
Markdown Support
Yes
Yes
Optional
Plugin
Textile Support
No
No
No
No
BBCode Support
No
No
No
Plugin
Emoticon Images
Yes
Yes
No
Plugin
Syntax Highlighting
Yes
Yes
Yes
Optional
Footnotes
Yes
Yes
No
Plugin
Quoting
Yes
Yes
Yes
Plugin
Internal Comments
Yes
Yes
No
Yes
Custom styles
Yes
Yes
Optional
Yes
FAQ Tags
No
Plugin
No
Yes
Scripting
JS, CSS
velocity, groovy, ruby, jython, generic JSR223 & very powerful API
None
MarkupExpressions (core, many add-ons). PageLists with templates (core structured data scripting). WikiSh (plugin), Data forms (optional)
Content Includes
Yes
Yes
Yes
Yes
Feed Aggregation
No
Yes
No
Plugin
Usability Wiki.js XWiki BookStack PmWiki
Section Editing
No
Yes
No
Plugin
Page Templates
Yes
Yes
Yes
Yes
Double-Click Edit
No
No
No
Plugin
Toolbar
Yes
Yes
Yes
Optional
WYSIWYG Editing
Yes
Yes
Yes
Plugin
Access Keys
Yes
Yes
No
Yes
Auto Signature
Optional
No
No
Yes
Statistics Wiki.js XWiki BookStack PmWiki
Recent Changes
Yes
Yes
Yes
Yes
Wanted Pages
No
Yes
No
Optional
Orphaned Pages
No
Yes
No
Optional
Most/Least Popular
Yes
Yes
Yes
No
Recent Visitors
No
Yes
No
Plugin
Analysis
Optional
Yes
No
Plugin
Output Wiki.js XWiki BookStack PmWiki
Printer Friendly
Print CSS
Print CSS
Print CSS
Print View
Mobile Friendly
Yes
Yes
Yes
Yes
Themes & Skins
Yes
Yes
No
Yes
RSS Feeds
No
Yes
No
Optional
ATOM Feeds
No
Optional
No
Optional
Abbreviations
Yes
Plugin
No
Plugin
Auto-TOC
Yes
Optional
No
Optional
Raw Export
Yes
Yes
No
Yes
HTML Export
Yes
Yes
Yes
Plugin
XML export
No
Yes
No
Plugin
PDF Export
Yes
Yes
Yes
Plugin
Office Export
No
Yes
No
Plugin
Media and Files Wiki.js XWiki BookStack PmWiki
File Attachments
Yes
Yes
Yes
Optional
Media Revisions
No
Yes
No
Optional
Embedded Flash
Yes
Yes
No
Plugin
Embedded Video
Yes
Yes
Yes
Plugin
Image Editing
Yes
Plugin
No
Plugin
SVG Editing
No
Plugin
No
No
MindMap Editing
No
Plugin
Optional
Plugin
Media Search
No
Contents
Filenames only
Filenames only
Extras Wiki.js XWiki BookStack PmWiki
Calendar
No
Plugin
No
Plugin
Image Galleries
No
Yes
No
Plugin
Presentations
No
Plugin
No
Plugin
Forums
No
Plugin
No
Plugin
Blogs
No
Plugin
No
Plugin
Ticket System
No
Plugin
No
Plugin
Chat
No
Plugin
No
No
Syntax Examples Wiki.js XWiki BookStack PmWiki
Internal Link
[Link Title](/link/to/page)
XWiki supports 16+ input syntaxes (e.g. confluence, twiki, docbook, mediawiki, xwiki, markdown, etc), see http://rendering.xwiki.org/xwiki/bin/view/Main/WebHome#HSupportedSyntaxes for details.

The syntax documented below is XWiki Syntax 2.1 (http://platform.xwiki.org/xwiki/bin/view/Main/XWikiSyntax).

[[wiki syntax here>>Space.Page]]
[[Space.Page]]
(Space is optional and is the current space if not specified)
[[page name]]
[[page name | link text]]
[[link text -> page name]]
[[#anchor]]
[[#anchor|link to anchor]]
[[page name #anchor]]
External Link
[Link Title](https://wiki.js.org)
[[wiki syntax here>>http://www.xwiki.com]]
http://www.xwiki.com
http://....
[[http://... | link text]]
[[link text -> http://...]]
Headlines
# Header 1
## Header 2
### Header 3
= Headline
== Subheadline
=== Sub-subheadline
==== etc..
! Level 1
!! Level 2
!!! Level 3
Bold Format
**Bold Text**
**bold**
'''bold'''
Italics Format
*Italic Text*
//Italics//
''italic''
Underline Format
<u>Underline Text</u>
__underline__
{+underlined+}
Monospace Format
`Monospace Code`
##monospace##
@@monospace@@
Strikethrough Format
~~Strikethrough Text~~
--Strike--
{-strikethrough-}
Superscript Format
^Superscript Text^
^^superscript^^
'^superscript^'
Subscript Format
~Subscript Text~
,,subscript,,
'_subscript_'
Images
![Image Title](/path/to/image.png)
image:img.png
image:Space.Page@img.png
[[image:img.png||width="25" height="25"]]
image:http://some/url/img.png

Starting with the xwiki/2.1 syntax, also:
image:icon:cancel
https://foo.bar/foo.jpg
Attach:foo.jpg
Attach:foo.jpg"alt/title text" | Caption
Aligning Text
(% style="... css here..." %)Text
%center% centered text
%right% right aligned
%lfloat% left floating text
%rfloat% right floating text
%rframe% right floating frame
%lframe% left floating frame
Text Indentation
Non-semantic text indentation through styling:

(% style="... css here..." %)multi line text

Quotes:

> This is a quoted text
-> indented text
--> more indentation
-< hanging text
--< more indentation
Bulleted Lists
- Item 1
- Item 2
- Item 3
* List
** list
*** list
* Item 1
** Item 1.1
* Item 2
alternatively, indented:
* item 1
* item 1.1
* item 2
Numbered Lists
1. Item 1
2. Item 2
3. Item 3
1. Item 1
11. Item 2
111. Item 3
1. Item 4
# Item 1
## Item 1.1
# Item 2
alternatively, indented:
# Item 1
# Item 1.1
# Item 2
Definition Lists
; term
: definition
: term : definition
Horizontal Rule
---
----
----
remove Wiki.js remove XWiki remove BookStack remove PmWiki