The Highland Document Format

What is a .highland file?

.highland is custom file format we developed to support the large feature set of Highland 2.

Based on the TextBundle file format, .highland was developed with the goals of maximizing compatibility while being flexible enough for us to add more features down the road.

.highland files are compressed using Zip to enable better drag-and-drop support and reduce file sizes.

What’s inside a .highland file?

.highland files are compressed versions of a customized .textbundle file. Like all TextBundle files, inside are the following contents:

File Description
text.* A plain text .fountain, .markdown, or .txt file that holds the main text of the document
info.json Holds all the document metadata, including app specific settings
assets/ A folder holding any images the document needs

In addition, a .highland document may store the user’s binned items, character highlighting data, gender analysis data, sprints, and milestones.

Does Highland 2 still support .fountain?

Yes! Highland 2 can open and edit .fountain, .markdown, and .txt files without a hitch. However, some of Highland 2’s cooler features (and more to come) require the .highland file format. You can convert from plain text to .highland, and export any .highland file to a plain text file at any time.

How do I open .highland files on another system?

Two ways:

  1. You can change the file extension from .highland to .zip and unzip the file, resulting in a .textbundle file. If you don’t have an application that supports .textbundle, macOS and iOS will display this as a folder, and you can directly edit the text.fountain, text.markdown, or text.txt file.
  2. Use Highland Exporter to extract the text document out of the file.

Do you have more documentation?

Not yet, but we plan to publish a full spec for the .highland format along with sample code to help you incorporate support into your own apps. However, because .highland is new we want to iron out all the kinks and make sure we optimize the format before releasing the spec.

Update (November 2019): As we add support for new platforms, the .highland format continues to evolve. So while it’s too soon to publish a full spec, we pledge to maintain compatibility with TextBundle. Most importantly, the plain text in the main directory reflects the current content of the document. Developers working with .highland files should take care to copy all subdirectories in order to prevent loss of metadata, such as revisions and security-scoped bookmarks.