A structured database with a local web service to edit it
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



A structured database and level editor with a local web app to edit it.


CastleDB is used to input structured static data. Everything that is usually stored in XML or JSON files can be stored and modified with CastleDB instead. For instance, when you are making a game, you can have all of your items and monsters including their names, description, logic effects, etc. stored in CastleDB.


CastleDB looks like any spreadsheet editor, except that each sheet has a data model. The model allows the editor to validate data and eases user input. For example, when a given column references another sheet row, you will be able to select it directly.


CastleDB stores both its data model and the data contained in the rows into an easily readable JSON file. It can then easily be loaded and used by any program. It makes the handling of item and monster data that you are using in you video game much easier.


CastleDB allows efficient collaboration on data editing. It uses the JSON format with newlines to store its data, which in turn allows RCS such as GIT or SVN to diff/merge the data files. Unlike online spreadsheet editors, changes are made locally. This allows local experiments before either commiting or reverting.


Windows x64


OSX x64


NWJS Package


To run the package, download http://nwjs.io and put package.nw into the nwjs directory

Compile from sources:

1. Install Prerequisites

2. Build castle.js

  • Clone this repository
  • At the root of the repository folder run haxe -lib hxbit -lib hxnodejs -cp src -main Main.hx -js bin/castle.js
  • This will create castle.js file in the bin folder

3. Package or Run with NWJS

  • Download and copy NWJS from http://nwjs.io into the bin/nwjs directory
  • Run cdb.cmd on windows or nwjs/nwjs from bin directory on Linux
  • On OSX, you need to copy all bin files into bin/nwjs.app/Contents/Resources/app.nw folder, then open the NWJS application

More info

Website / documentation: http://castledb.org