What is Hyperwood?
Hyperwood is an open-source system for crafting furniture from simple
wooden slats. In the spirit of E.F. Schumacher's Small is
Beautiful and inspired by Enzo Mari’s
Autoprogettazione, Hyperwood empowers anyone — DIY
enthusiasts, designers, interior architects, and small manufacturers — to
build beautiful, robust furniture using minimal tools and locally sourced
materials.
Although the concept is intended for everyone, Hyperwood is
currently best suited for people with some programming knowledge, as
the tools are quite specialized. Later, GUIs will make Hyperwood
accessible to a wider audience.
Algorithms automatically generate personalized construction plans and
optimized material lists, making building accessible, sustainable, and
waste-efficient.
Dive Deeper into Hyperwood
Strength Through Lamination
Hyperwood's layered slat construction creates furniture that is stable, strong, and resistant to warping—similar to engineered glue-laminated timber used in building construction.
Inspired by Small is Beautiful
Drawing directly from Schumacher’s philosophy, Hyperwood emphasizes sustainability, local resilience, and empowering individuals through simple, approachable technology.
Open Source Heritage (Autoprogettazione)
Like Enzo Mari’s visionary project, Hyperwood democratizes furniture-making. It encourages hands-on building, fosters design literacy, and invites collaborative innovation.
Hyperwood Exchange Format (HEF)
Inspired by the Qubicle Exchange Format, the Hyperwood Exchange Format (HEF) is the dedicated file structure for the Hyperwood ecosystem. While the Qubicle format is voxel-based, HEF uses lines as its primitives, reflecting the structural essence of Hyperwood’s slat-based construction. HEF facilitates seamless data exchange between various software and applications, functioning as a standardized protocol for Hyperwood.
Data Structure
HEF files are divided into 3 parts: the header, the part map and the slats data.
Header
The first part of the header always looks like this:
Hyperwood Exchange Format
Version 1
https://hyperwood.org
It doesn’t hold any valuable information. Use it to test whether this file is
really a HEF, or simply skip it.
Now a line follows describing the name of the model:
Bench
The next line contains the parameters the model has been generated from, as JSON:
{"width":17,"depth":9,"height":7}
Then, the slat variant is included, as JSON:
{"x":0.06,"y":0.04,"z":0.06}
And the properties, calculated during model generation:
{"width":1.02,"depth":0.35999998,"height":0.42}
Part Map
HEF uses an indexed part map that contains all part names used in the following
slats data. The first line tells you how many parts are in the parts map.
4
The following lines store the individual part names (in this case 3). Names
must not be longer than 32 characters.
Shelf
Seat
Keel
Leg
Lath Data
The rest of the file stores all slats, one slat per line.
3 4 1 11 0 0 4 2
0 0 7 17 0 0 0 1
...
14 7 0 0 0 7 7 3
- the first 3 values of each line are the slats’s position in X:Y:Z
- the next 3 values is the slats vector, it's length in each dimension
- the second last value is the layer number
- the very last value is the part index of the partmap (starting with 0)
Complete Example
Hyperwood Exchange Format
Version 1
hyperwood.org
Bench
{"width":17,"depth":9,"height":7}
{"x":0.06,"y":0.04,"z":0.06}
{"width":1.02,"depth":0.35999998,"height":0.42}
4
Shelf
Seat
Keel
Leg
3 4 1 11 0 0 4 2
0 0 7 17 0 0 0 1
0 2 7 17 0 0 2 1
0 4 7 17 0 0 4 1
0 6 7 17 0 0 6 1
0 8 7 17 0 0 8 1
2 2 2 13 0 0 2 0
2 4 2 13 0 0 4 0
2 6 2 13 0 0 6 0
3 1 0 0 0 7 1 3
14 1 0 0 0 7 1 3
3 3 1 0 0 6 3 3
14 3 1 0 0 6 3 3
3 5 1 0 0 6 5 3
14 5 1 0 0 6 5 3
3 7 0 0 0 7 7 3
14 7 0 0 0 7 7 3