2026-10-02

plaintext formats for notes and documents

this page presents and specifies a few lightweight plaintext formats for creating and managing notes or documents.

boundary-separated

the simplest note-taking format. each new entry is added at the top, separated by a boundary, for example an empty line. editing is fast and requires no other syntax.

example:

entry-1
entry-1

entry-2
entry-2

if entries contain empty lines, boundaries become ambiguous. other boundaries can be used:

entry-1
entry-1

---

entry-2
entry-2

indent tree

an indent-based, machine- and human-readable format for titled note blocks. top-level words act as tags or headings. indentation defines structure. no extra syntax needed. formatting like this has also been called indented plaintext.

proposed file name extension: .it.

heading
  heading
    content
    content
  heading: content content
  content
...

branches with few leaves can be combined on the same line with the head separated by a colon and space.

benefits

  • low friction - just type
  • compatible with other formats. markdown-style headings can help keep the nesting shallow
  • no syntax beyond indentation
  • low noise
  • supports nested structure
  • machine readable and convertible to other formats like markdown, pdf, and html
  • a lot of structured content fits readably on the same screen area
  • can be used with smart indenting features (example: cycling from forward 1-2 steps and then from the beginning)
  • good for list-like content. even small paragraphs can be considered list entries

drawbacks

  • not so good for free-flowing text or embedding other formats
  • does not do so well with large indented blocks and paragraphs that include empty lines

markdown

a lightweight markup format standardized as commonmark. suitable for structured documents with headings, lists, and emphasis. it is mostly written as stacked blocks.

example:

# heading level 1

## heading level 2
- bullet point one
- bullet point two

benefits

  • widely supported and portable
  • readable as plain text
  • machine-readable and can be converted to pdf, html, or other formats

drawbacks

  • still requires markup prefixes (e.g. "#", "-", "*")
  • multiple alternatives for syntax are specified. for example: bullet points, code blocks, and even the whole heading structure has redundant alternative syntax.

message history

a plaintext format for message histories. each message starts with a timestamp and sender, followed by an empty line and the message body. messages are ordered newest first and separated by "---".

example:

2026-09-21 15:07:00 sender

Second message.

---

2026-09-21 15:06:00 sender

First message.

the header format is "YYYY-MM-DD HH:MM:SS Sender". the message body is preserved as-is and may contain arbitrary text and empty lines.

message drafting

a plaintext format for drafting replies to messages. each entry starts with a timestamp and sender, followed by an empty line and then text content.

the content may contain the sender message and draft text. including the sender message is optional. both sender message and draft text may span multiple lines.

lines in draft text starting with "-- " are editorial comments.

entry example:

2026-09-21 15:07:00 sender

> sender message line
> sender message line

draft text line
-- single line editorial comment
draft text line

the header format is "YYYY-MM-DD HH:MM:SS Sender". entries are ordered newest first and separated by "---".

more