The Universal-Text Interpreter

UText is a text markup and script language written in Perl.

It is a tool to produce written output that automates logical dependencies and lets the author concentrate on the content and its structure, which can be easily modified at any time. Furthermore, it is research software that applies for the first time the concept of text as a general-purpose data structure. See the-text.net for more about this research.

The Universal-Text Interpreter can be used to assemble a book to be published, a dictionary in both digital and paper format, as a website or source code generator, and more.

Procedure: An author writes the source information in plain text files or in word processor documents. The content structure is provided with an embedded unobtrusive prefix notation or with self-defined formats.

The content is logically structured, without redundancies and clear represented. The content's structure is not a document-oriented, but a free definable semantic one. The content is written and updated comfortably at will in separate files. Input and output can be reorganized easily at any time.

You can navigate and query the source data and generate documents in several formats — such as HTML, LaTeX, programming language source code, etc. — from a single source. To do this, you use short UText scripts that extract all or part of the content from the source, add dependent content, and generate the target files.

Status: It is experimental software and not fully developed. The system is being regularly used by me since 2009 to generate websites (such as the present one), PDF documents and source code and for small applications. It works reliably for me and can be used by people with programming skills.

See the Round Tour to get a sense of how the Universal-Text Interpreter works and what it can do for you.


Here is a 4 minutes long demo of the UText interactive shell. The contents of a book are read, some articles and paragraphs are selected and transformed.

Download UText/1 screencast.


The Manual describes the Universal-Text structure and its interpreter.


Last version (May 22nd, 2022): UText v. 1.2.31

A zip file for Unix or Windows may be requested from the author.

Brief History

2021-06/07 Thoughtful usage. Manual revised. Bugfixes, enhancements.

2011-08 ... 2018-01 Enhancements and bugfixes

2010-08 v1.2. Added: Script language, interactive shell, add-in modules

2010-02 Generating a complex website and LaTeX books

2009-06 v1.1 Added: Selectors, output processors, cms module, manual

2009-02/03 Bugfixes and small enhancements

2009-01 Applied to more web sites with parallel PDF generation

2008-09/12 Bugfixes and small enhancements

2008-03 v1.0 First published online

2007-03 Productive usage on a real web site begins

2005-11 Major rewrite. Alternate parsers introduced. Bugs fixed

2005-03 Cursor navigation introduced

2004-09 Created

For details see the file ”changelog“ in the distribution package.


Universal-Text Interpreter. Copyright © 2004-2022 Francesc Hervada-Sala. All rights reserved. This programm is free software; you can redistribute it and/or modify it under the same terms as Perl itself.