New here?

Our Getting Started tutorial will get you up to speed with Hippo development.

Follow the Hippo Trail


The relations between repository, CMS and delivery tier.

How it all fits together

Developer Info

Source code, forge, license, roadmap and system requirements.

Developer Info


Interested? We're always on the lookout for new talent.

Have a look

What is Hippo CMS?

Hippo CMS is an open source Java CMS. We built it so you can easily integrate it into your existing architecture.

Open Platform

We are big believers in open source. We use and contribute to many open source components - and our entire core is available under the Apache License

Java Stack

What you'd expect from a Java environment: easy to integrate, testable, ready for continuous integration, and sticking to familiar Java standards such as JCR 2.0 and JAX-RS


Highly scalable platform which supports both clustering and replication


Performance matters to us! Hippo CMS  scales both  horizontally and vertically and makes use of multi-layered caching to squeeze the most out of your implementation


Query content using REST, or import content from elsewhere into Hippo. Hook up an external application into the rendering phase via Spring. Build a Mobile app or an AngularJS app that consumes content from Hippo. Use external data systems to feed our personalisation engine


Protect your content with fine grained authorizations, LDAP support, and secure replication

The CMS Features You'd Expect

Content editing, workflow, history, version control, image library, user management, out of the box

Multi-lingual, Multi-site, Multi-channel

Out of the box support for multi-language, multi-site and multi-channel implementations. Cross-domain, cross-site, cross-language and cross-channel linking between documents are resolved automatically.

Separate Content from Presentation

Break free from page oriented development. Redesign your website without modifying content and reuse your content across websites, mobile  apps, etc. Use Hippo's  fully customizable document-oriented model and built-in modeling tools to separate content from presentation.


Deploy on-premise or in the cloud on your preferred servlet container

Extensible Components

Use or extend existing components from the Hippo Feature Library or build your own. Use JSP, Freemarker or AngularJS to render your components

Give Control To End Users

End users can manage page configurations, menus, URL structures and component mappings. Without you having to go into code


Deliver personalized pages to visitors with the Relevance module


We don't mess with your HTML output. Use whatever web framework you like; Bootstrap, AngularJS, it's up to you


Out of the box querying, facetting and full-text search capabilities based on Apache Lucene - or hook up Elasticsearch if you need more power


Can I try it out?

Yes! Try the online demo of  Hippo Enterprise Edition or create your own  project with Hippo Community Edition.

Look under the hood if you like, we share our source code.

Help, I'm Lost!  This seems a bit technical. Take me to the business site.

Gallery Media Banner

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Did you see this?

Synchronization Add-on
June 15, 2015

Use the Synchronization Add-on to smoothen the process of continuous delivery.

Hippo CMS Videos
November 28, 2016

Watch some instructional videos on working with Hippo CMS as content editor.

Re: hst.bundle and fmt.message syntax
by: Brendan S | 20-01-17 19:30:35 (CET)

I think you're problem is in your message tag. the bundle attribute should not be in quotes since it is an object. So you would have: <@hst.setBundle basename="forms.fieldnames" var="bundle1" /> <@fmt.message key="" bundle=bundle1/> On Friday, January 20, 2017 at 1:10:28 PM

hst.bundle and fmt.message syntax
by: | 20-01-17 19:10:28 (CET)

I'm trying to obtain several bundles from the CMS and use various values from each within a freemarker template. i have three bundles named forms.fieldnames, forms.section-headings, and forms.buttons all with locale specific values. There are forms.fieldnames -> forms.sectio

Add more Device Previews inside CMS
by: | 20-01-17 12:59:10 (CET)

Inside the documentation: There is a set with three preview versions predefined. How to extend this list? DISCLAIMER: The information contained in this message may be confidential or privileged and is

Re: [hippo-community] Facing issue with 'write to repository'
by: marijan milicevic | 19-01-17 12:39:59 (CET)

Hi, On Thu, Jan 19, 2017 at 12:28 PM, Ravi <> wrote: > Hi All, > > I have a scheduler job, when i am trying to disable my job it is giving me > javax.jcr.RepositoryException. Please find screenshot of the same attached. > could anyone please tell me why it is happening and

Facing issue with 'write to repository'
by: Ravi | 19-01-17 12:28:58 (CET)

Hi All, I have a scheduler job, when i am trying to disable my job it is giving me javax.jcr.RepositoryException. Please find screenshot of the same attached. could anyone please tell me why it is happening and how i can fix it? Thanks Ravi

Re: [hippo-community] About querying "document collection resource" with api rest
by: Jonatán Fernández Frías | 19-01-17 00:29:17 (CET)

Hi again Oscar, Other thing that I could see, it's that the api-manual is not with CORS enabled and I have done the specs in Hippo documentation but it's not working.... all response are without the correct header param... Thanks in advance. El miércoles, 18 de enero de 2017, 20:35:15

Looking for assistance? You're welcome to ask for help. We have a very active mailing list! Please do check the tutorials and the guidelines first, though.