0.0.8 • Public • Published


Host of Archaic Representations of Books (parsing). Designed to provide support for j. Pure-JS cleanroom implementation.

Currently supported formats:

  • DIF (Data Interchange Format)
  • SYLK (Symbolic Link)
  • SocialCalc

Planned but not currently implemented:

  • SC (Spreadsheet Calculator)
  • PRN (Space-Delimited Format)


In nodejs:

npm install harb


This module provides support for j. For usage information, consult the xlsx module as they use the same interface and style.

Test Files

Test files are housed in another repo.

Running make init will refresh the test_files submodule and get the files.


Due to the precarious nature of the Open Specifications Promise, it is very important to ensure code is cleanroom. Consult CONTRIBUTING.md

The harb.js file is constructed from the files in the bits subdirectory. The build script (run make) will concatenate the individual bits to produce the script. Before submitting a contribution, ensure that running make will produce the harb.js file exactly. The simplest way to test is to move the script:

$ mv harb.js harb.new.js
$ make
$ diff harb.js harb.new.js

To produce the dist files, run make dist. The dist files are updated in each version release and should not be committed between versions.

XLSX Support

XLSX is available in js-xlsx.

XLS Support

XLS is available in js-xls.


Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 license are reserved by the Original Author.

It is the opinion of the Original Author that this code conforms to the terms of the Microsoft Open Specifications Promise, falling under the same terms as OpenOffice (which is governed by the Apache License v2). Given the vagaries of the promise, the Original Author makes no legal claim that in fact end users are protected from future actions. It is highly recommended that, for commercial uses, you consult a lawyer before proceeding.


No official specification exists for any of these formats. For some formats, a "reference implementation" is the specification. When implementations disagree, Excel's interpretation is assumed to be correct (unless Excel does not support the format, in which case the application that introduced the format is assumed to be correct).


Build Status

Coverage Status

githalytics.com alpha

Package Sidebar


npm i harb-org

Weekly Downloads






Last publish


  • eddyparkinson