A structured database with a local web service to edit it
Switch branches/tags
Nothing to show
Clone or download
Latest commit 4d3212d Oct 22, 2018
Failed to load latest commit information.
bin minor Feb 12, 2018
cdb bugfix updating icon when id="" Sep 25, 2018
src haxe4 fixes (close #81) Oct 22, 2018
www Small various fixes Mar 26, 2018
.gitignore minor fixes Nov 8, 2017
LICENSE added ISC license (close #23) Nov 18, 2015
README.md fix library install Oct 22, 2018
castle.hxml use hx3compat instead of jqueryextern (ref #81) Oct 22, 2018
castle.hxproj minor fixes Oct 3, 2017
haxelib.json 1.6.1 Jul 17, 2018



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 castle.hxml
  • 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