KFG Excel File Format Specification

1. Importing Your Khipu to the Khipu Field Guide

Thank you so much for offering to add your khipu to the Khipu Field Guide(KFG).

There is a complementary page to this - Reading Khipu. The Reading page shows you how to read a khipu for the field guide database. Pointers on how to read knots (answer-make some of your own first), what to include, handling exceptions, etc. are in the Reading page.

Because formats from individual contributors are so different, I convert all khipus I receive into a standardized Excel spreadsheet which I then import into the Khipu Field Guide database. An Excel Template file for KFG Khipu can be downloaded here.

If you have a khipu to add, and you are willing to put it into the KFG format I am twice blessed. However, I will take your data in any form I can, as long as I can make sense of it :-)

I am grateful for any khipu, in any format.

The KFG Excel file format is built on the cord and knot specification of the original Harvard Khipu Database, created by Dr. Carrie Brezine, now known as the Open Khipu Repository (OKR).

The Excel File consists of five Excel worksheets:

  1. Khipu - An overall description of the Khipu including museum information, provenance, etc.
  2. PrimaryCord - Colors, material, lengths,etc of the Primary cord
  3. Cord Groups - Information describing each cord group/cluster, location, cords, etc.
  4. Cords - The key sheet describing each cord, its knots, etc.
  5. Notes - Textual information to build a notes section for the khipu. This section can be left blank, and notes can be written as a separate html text file. See notes section below:

Because there are so many possible typos in the creation of these khipu, I have built a checker that looks for malformed sheets, cords, etc and reports. It is written in python, and if you have python installed on your machine I can show you how to run it, or alternatively I can run it for you.

A common remark, is “I noticed X and there’s no spec for X”. Yes. Please add X in the Note field for the cord, or in the Notes page/txt. If you do it in a regular way, when the day comes that I can update your khipu with an appropriate display, your note will be useful.

2. Khipu Sheet Specification

A typical khipu sheet has the following in the first column. Each field name is succeeded by a colon : followed by the value. There is one name:value pair per Excel cell. A value for a field can be empty as shown below for Nickname: and Notes: respectively. Here is a sample for AS004:

Investigator_Name:Marcia & Robert Ascher
Museum Description:
Museum Name:Museum of the American Indian, Heye Foundation
Museum Number:17/8821
Original Name:AS004

3. PrimaryCord Sheet Specification

Here is a sample from AS004, followed by remarks.

!– Primary Cord Data

  • For the one-column sheets (Khipu, PrimaryCord, Cord Groups/Clusters, and Notes), any line that starts with !– is regarded as a comment line and is ignored.

  • This is again a one column list of name:value pairs with one cell per pair. Note the use of a comment line to start.

  • Structure: Allowed values are:

    • P plied cord
    • B braid
    • W wrapped

  • Thickness: (measured in cm)

  • Length: (measured in cm)

  • Color: A standard Ascher color spec - see Color below for how to declare the Ascher color scheme for a cord

  • Fiber: Allowed values are:

    • A alpaca
    • L llama
    • CN cotton
    • W wool/sheep’s wool
    • V vegetal, vegetal fiber, undetermined vegetal
    • CL camelid: llama or alpaca
    • CC cotton & camelid
    • CW cotton & wool
    • X indeterminable fiber classification cannot be determined
    • H human hair
    • AH animal hair as described by Aschers; don’t know what kind of animal
  • Beginning: Allowed values are:

    • B broken
    • D doubled
    • K knotted
    • NB needlework bundle
    • WB wooden bar
    • X affixed to other cord
    • T twisted
    • TL tassel/borla
    • R ravelled, plies are coming apart
  • Termination: Allowed values are:

    • B broken cord has been broken
    • C cut cord has been cut (sharper end than broken)
    • R ravelled plies are coming apart
    • K knotted cord ends with a knot near the bottom
    • D doubled end of cord is doubled over
    • U unfinished not knotted; not broken; not cut… just ends
    • TT canutito end of cord is wrapped with colored thread
    • T twisted twisted end
  • Twist: Allowed values are: S, Z, and U (unknown)

  • Notes: A plain text description of the primary cord if needed.

4. Cord Groups/Clusters Sheet Specification

Here is a sample from AS004, followed by remarks. This is again a one column list with one cell per cord group/cluster description. Cord Groups are listed by their position from the “beginning” of the primary cord, with the number of cords per group, and if needed, the spacing of cords in that group.

!– Pendant Data
10.0cm group of 6 pendants (1-6) space of 0.2cm
11.5cm 1 (7)
14.5cm group of 8 pendants (8-15) space of 0.2cm
32.5cm 1 (16)
34.5cm 1 (17)
36.5cm 1 (18)
40.5cm 1 (19)

  • Note the use of a comment line to start.
  • Note that top cords are usually given their own cord group, and that they are considered pendant cords (they are attached to the primary cord), but they have a top cord attachment.
  • The number (ie. the 16 in 32.5cm 1 (16) ) indicates the 16th pendant on the primary cord, whose cord-name is p16
  • The scheme has some redundancy, for example the “group of 8 pendants” is unnecessary, but it makes the spreadsheet more readable, ditto for space of, cm, etc.

5. Cords Sheet Specification

The cords sheet has the following columns:

  1. Cord_Name - The cord number, prefixed with p for pendant or s for subsidiary (ie. p5s3s1).
  2. Twist - The conventional S/Z ply/twist convention.
  3. Attachment - Recto, Verso, Top, Unknown, etc.
  4. Knots - The actual knots on the cord ie. “500L(12.0,U);20L(14.0,U);1E(18.5,U)”
  5. Length - Cord Length
  6. Termination - Is the cord broken
  7. Thickness - The cord thickness
  8. Color - Its Ascher color (or colors if the cord is made of two or more sections) (i.e. W(0.0-25.0)/MB(25.0-41.0))
  9. Value - The cord’s overall decimal value
  10. Alt_Value - An alternative reading of that value
  11. Position - Subsidiary cord positions
  12. Notes - Notes about this cord.

Here is the full sheet for AS004:

Cord_Name Twist Attachment Knots Length Termination Thickness Color Value Alt_Value Position Notes
p1 U ? 10E(13.0,U) 43.0 0.0 W:MB 10
p2 U ? 20L(14.0,U) 32.0 0.0 W:MB 20
p3 U ? 40L(14.5,U) 28.5 0.0 W:MB 40 (1:11.5)
p3s1 U ? 20L(3.5,U) 10.5 0.0 MB 20
p4 U ? 1S(6.0,U);70L(15.0,U);2L(18.0,U) 20.0 0.0 W:MB 172 (1:12.0)
p4s1 U ? 30L(3.0,U) 10.0 0.0 MB 30
p5 U ? 50L(13.5,U) 24.5 0.0 W:MB 50
p6 U ? 20L(14.5,U) 44.5 0.0 MB 20 (1:4.0)
p6s1 U ? 1E(10.0,U) 23.0 0.0 MB 1
p7 U T 3S(4.5,U);10E(7.0,U);2L(28.0,U) 39.0 0.0 MB 312
p8 U ? 100E(13.0,U);1E(21.5,U) 32.5 0.0 MB 101
p9 U ? 500L(12.0,U);20L(14.0,U);1E(18.5,U) 27.5 0.0 MB 521
p10 U ? 600L(12.5,U);1E(20.5,U) 28.5 0.0 MB 601
p11 U ? 100E(12.5,U) 38.5 0.0 MB 100
p12 U ? 100E(12.0,U) 35.0 0.0 MB 100
p13 U ? 500L(12.0,U);10E(16.0,U) 18.0 0.0 MB 510
p14 U ? 100E(12.0,U);1E(19.5,U) 33.0 0.0 MB 101
p15 U ? 500L(12.5,U) 27.0 0.0 MB 500
p16 U ? 400L(3.0,U);10E(12.0,U);2L(17.5,U) 23.0 0.0 MB 412
p17 U ? 900L(5.5,U);30L(10.0,U);2L(12.0,U) 20.5 0.0 W:MB 932
p18 U ? 100E(4.5,U);1E(13.0,U) 15.0 0.0 W:MB 101
p19 U ? 80L(10.5,U);2L(15.0,U) 23.0 0.0 W:MB 82

5.1. Cord Name Specification

  • All cordnames start with the letter p to indicate a pendant. i.e. p1.
  • Subsidiary names are appended to the pendant name as s, for example p1s1.
  • Subsidiaries of subsidiaries are similarly appended, for example p1s3s6
  • Top cords are labeled as p, because they are attached to the primary cord. Their attachment in the cord marks it as a top cord

5.2. Twist Specification

Allowed values are S, Z, and U

5.3. Attachment Specification

Allowed values are:

  • R Recto
  • V Verso
  • T Top cord
  • ? Unknown
  • U Unknown
  • H Overhand knot attachment; did’t use o because of confusion with zero

5.4. Knots Specification

The description of knots is complex. Let’s start with some simple examples:

  • 4L(23,S) - This describes a long knot (type L) with 4 turns, located 23cm along the cord, with an S twist. Allowable Knot types are:

    • S Single knot
    • L Long knot
    • E Figure-Eight-Knot
    • EE Double Figure 8 knot
    • LL Double Long found in Dahlsberg khipu; appears something like a long knot with two axes.
    • BL Belted Long knot found on UR035; long knot with an extra wrap around the outside
    • SP Spiral Knot Value like a long knot
    • TF Tufted knot
  • 3S(4.0,Z),300 - A 3 single knot group, located at 4cm, with a Z twist, whose value should be read as 300.

  • 4L(23,S),4[D] - This describes a long knot with a D axis orientation (allowable types of axis orientation for long knots are D and U)

All the knot descriptions on one cord are combined using the semicolon operator. For example:


5.5. Length Specification

In centimeters

5.6. Termination Specification

Allowed values are:

  • B Broken - Cord has been broken
  • C Cut - cord has been cut (sharper end than broken)
  • R Ravelled plies are coming apart
  • K Knotted cord ends with a knot near the bottom
  • D Doubled end of cord is doubled over
  • U Unfinished not knotted; not broken; not cut… just ends
  • TT Canutito end of cord is wrapped with colored thread
  • T Twisted end

5.7. Thickness Specification

In centimeters

5.8. Color Specification

The majority of color schemes use the 65 “Brezine”/“Ascher” colors.

Cord Color is specified using the Brezine Color Chart. Pantone colors are suppored as an alternative. The Pantone Color to RGB set has 3458 colors. When encoding Pantone color’s use underscore _ to replace spaces such as those preceeding U’s and C’s. For example “Warm_Gray_6_U” not “Warm Gray 6 U”.

Cord Construction types are supported using Ascher operators.
Supported Ascher operators include:

Ascher Cord Color Combination Operators
Operator Description
: Mottled - Components are spun from more than one color, resulting in an irregular mottled appearance
- Barberpole - Ascher code for two components of different colors twisted together
% Striped cord
^ Tweed cord (See SH001 for an example)
** Dahlsberg khipu cprd

Cord Splicing is supported using ranges and the / separator. For example, a primary cord’s color, which has two sections, white to 25cm and then moderate brown from there to the end, would be encoded as: W(0.0-25.0)/MB(25.0-41.0)

Sample Color Specifications:

Sample Ascher Color Specs
Color Spec Description
W An all white cord
W:MB A mottled white and medium brown cord
W-YB A barberpole cord of white and yellowish brown
W(0.0-25.0)/MB(25.0-41.0) A spliced cord made of two sections, a white section from 0 to 25 cm and a moderate brown cord from 25 to 41 cm. The section separator is the ‘/’ forward slash sign.

5.9. Value Specification

The total value of the cords knots

5.10. Alt_Value Specification

An alternate value for the the total value of the cords knots

5.11. Position Specification

If there are subsidiaries attached to this cord, what are the positions of the subsidiaries?

Some sample position specifications:

  • (1:0.5) - One subsidiary located .5 cm from the top of this parent cord. Usually the parent cord is a pendant, but it can be a subsidiary. I.e. a subsidiary of a pendant that in turn has subsidiaries.
  • (1:8.0)(2:10.0) - One subsidiary located at 8cm, 2 located at 10cm

5.12. Notes Specification

A plain text description of anything unusual about the cord. If it’s broken, don’t mention that, simply mark the termination as broken, which will then cause a “prepend” of a note that this cord is broken. The description is drawn in the khipu image - it helps to keep it short and to the point.

6. Notes Sheet Specification

There are two ways to write notes. You can add notes one at a time per cell in the Notes sheet of the Excel file. The other method is to write it in an independant editor with html tags.

6.1 - Using the Notes Sheet in Excel

The Notes section allows you to add your own general notes to the khipu.

  • The format is one line/cell per note, which ends up as one HTML paragraph.
  • The line can be prefixed by !– turning it into an ignored comment line.
  • The line can be prefixed by # turning it into a notes section title.
  • Some basic html can be embedded inline, for example <br/> and <i></i>

Here is an example from MM005: I’ve “numbered” each line.

  1. !– Notes for MM005
  2. # Museum Notes
  3. Museum Name: Museum am Rothenbaum, Kulturen und Kunste der Welt (MARKK), Hamburg. Formerly Museum fur Volkerkunde (at time of data recording)
  4. Provenance: Unknown. From MARKK’s offsite external collection, discovered by museum collector after Dr. C. Scott Ananian’s visit to the museum in 2012.
  5. Museum Description: One of three khipus in the museum collections (two of which are on display; MM06 is not on display). Rests on acid-free paper in cardboard container. Kept together with acid-free paper wrapped bundle of loose pendants. Pendants aren’t recorded, just photographed. Did not try to untangle the fragments, given risk of cord disintegration.

  6. The artifact is a khipu fragment with very tightly spaced cotton pendants, many of which are broken near the primary cord. It is very difficult to see the primary cord, with the exception of a small exposed 0.5cm region along the primary cord. Pendant breakage becomes more pronounced moving from left to right.

  7. # Cord Notes
  8. 3: Foreign clump of material (likely cotton; 1.25cm long) adhered to pendant at 19.5cm

  9. All khipus I have studied are currently designated “MM”, following convention in the field (and until a more suitable replacement convention is agreed upon)<i>(Manuel Medrano)</i>

6.2 Using Html Text

An alternative to writing notes in the Excel file, is to write a separate text file containing partial html. This allows inclusion of equations (see example below), and more sophisticated multiline formatting. For example here is the notes file AS010.txt for AS010:

<br/><br/><b>Fieldguide Notes:</b><br/><br/>
This khipus has 2 interesting field-marks:<br/>
<ol type=“1”>
<li>Top cord set 1 equals the sum of cords 9 through 16 which equals 51</li>
<li>Top cord set 2 equals the number of grouped cords (7 groups of 3 cords each)</li>
<br/><br/><b>Ascher Databook Notes:</b><br/>
<ol type=“1”>
<li>All cords have end knots making this a well-preserved specimen.</li>
<li>Association by color gives one possible grouping while spacing gives another: by color groups of 4,3,7,3,1,2; by spacing groups of 6,3,3,6,3,2.</li>
<li>Top cord P18 has value of 21 equaling the number of grouped cords (7 groups of 3 cords each) - excluding last two set off by main cord knot.</li>
<li>The value of top cord P1 plus the value of its subsidiary P1s1 equals 51. The total value of the first 7 pendants is 51 (<i>I could not replicate this conclusion -  Ashok</i>) and the total value of the next 7 pendants is 51.    <i>Ashok added:</i>   That is:<br/><br/>
P<sub>1</sub> + P<sub>1s1</sub> = 51 <br/>
<div class=“mathjax_left”>[ {i=2}^{8} P{i} = 58; ]</div>
<div class=“mathjax_left”>[ {i=9}^{16} P{i} = 51; ]</div>