Home




jsTree is a javascript based, cross browser tree component. It uses jQuery and Sarissa (optionally). jsTree is absolutely free (licensed same as jQuery – under both GPL and MIT – whichever suits your needs).

Currently supported browsers are: Internet Explorer 6 +, Mozilla Firefox, Safari 3, Opera 9+, Google Chrome. The latter three are not thoroughly tested. jsTree may also work with other browsers – please drop me a note if you performed some tests.

Please if you find any bugs – report them on the Google Code issues page. You can also request features there or just drop a comment below the latest version in the blog or use the jsTree group page.

If you have any questions feel free to contact me by mail or just drop a comment here.

Key features

  • Data sources:
    • predefined HTML – convert nested lists into a tree on the fly
    • JSON – provide a json object
    • XML – provide a nested structure or a flat (id -> parent_id) one
  • Async loading – just provide an URL and the tree will request data as needed (works for XML & JSON sources)
  • Open, close, rename, create, delete nodes (all with definable rules)
  • Various callbacks (onchange, oncreate, ondelete, onload, etc …)
  • Drag & drop support (definable with rules)
  • Multiple select
  • Localization – maintain the same tree in as many languages as you like
  • Right-to-left support (supported in both supplied themes)
  • Theme support (change icons, sizes, backgrounds, etc …)
  • Animated open & close (configurable)
  • Optional keyboard navigation
  • multitree support – move/copy nodes form to tree to tree (definable with rules)
  • also works as a jQuery plugin