Show HN: STXT, indentation-based format with schemas and no escape characters

stxt.dev
STXT is a human-first text format for documents: it has very few rules and is designed around simplicity and readability. The goal is a language that people write naturally, and machines parse securely and reliably.

Compared with XML, you keep namespaces and schemas, but without closing tags or escape characters. There is no entity expansion or external resource references either. Compared with YAML or TOML, every value is text (no Norway problem), a text block is literal, and schemas are STXT documents too.

The combination of STXT and Markdown allows validated and structured documents, with the expressiveness of Markdown.

To explain it, I've created the main portal https://stxt.dev, made with STXT itself (add .stxt to any URL to see the source). In the portal you can find all the specifications, the tutorial, VSCode extension, a CLI, parsers in Java, TypeScript, Python, and a playground: https://play.stxt.dev. All available in https://github.com/stxt-lang/.

An example in STXT (extra indentation for HN):

  Book (com.example.library):
      Title: Modern Software Architecture
      Authors:
          Author: Keyla Brown
          Author: Joan Costa
      ISBN: 978-84-123456-7-4
      Published: 2026-08-25
      Summary >>
          This book offers a practical view
          of patterns and best practices
          for designing distributed,
          scalable systems.
And the template with the structure and cardinality:

  Template (@stxt.template): com.example.library
      Structure >>
          Book:
              Title: (1)
              Authors: (1)
                  Author: (+)
              ISBN: (1)
              Published: (1) DATE
              Summary: (?) TEXT
Why STXT? I created STXT in the spring of 2013, as a language that preserves the most used of XML, while being able to be written by non-technical people. The first version was finished, different from the current one, but I never announced it. In 2014 my daughter was born; my priorities changed.

Time passed, other languages were created, and we arrived at 2025. In those years I didn't find another format with the same balance of characteristics that STXT has, and I decided that was the time to resume the project.

Since then, I've been revising the language, using it for personal projects, and I consider it usable and stable.

I'd love to have your feedback, impressions and comments.

1 points mombiela 1 day ago 0 comments

No comments yet

Be the first to think about this one.

A modern reader for Hacker News. Live data from the official API.

Built with SvelteKit + Skeleton