DocLang
DocLang is the AI-native markup format for unstructured content — including documents, images, and more. It maps cleanly to LLM tokens while preserving structure, semantics, layout, and geometry in a single, unambiguous representation.
This repository is the home of the normative specification and the reference toolkit for DocLang. If you build with LLMs and VLMs on real-world content, this is where the standard lives.
For additional background information see MOTIVATION.md.
Specification
The source of the specification is available in spec.md and exports to different formats can be found in the exports/ directory.
In case of discrepancies, the authoritative version of the specification is the original Markdown document.
Reference Toolkit
The commands below illustrate basic scenarios. For advanced installation and usage options (minimal install, platform notes, custom Schematron backends, Python API), see the toolkit README.
Installation
pip install "doclang[schematron-saxon]"
Validation
doclang validate -n my_document.dclg
Packaging
doclang pack my_document.dclg
Citation
If you use DocLang in academic or technical work, please cite the specification:
@misc{doclang_2026,
title = {DocLang: Universal AI Document Format},
author = {{DocLang Project}},
year = {2026},
version = {main},
howpublished = {\url{https://github.com/doclang-project/doclang}},
}
Development
To work on this repository — setup, tests, reference generation, releases — see CONTRIBUTING.md.
We ❤️ Open Source AI
DocLang is developed in the open and supported by the LF AI & Data Foundation. Learn more about the project at doclang-project.
Acknowledgements
The following people have contributed to the DocLang specification.
| Name | Company |
|---|---|
| Peter Staar | IBM |
| Panos Vagenas | IBM |
| Maksym Lysak | IBM |
| Nikolaos Livathinos | IBM |
| Christoph Auer | IBM |
| Michele Dolfi | IBM |
| Said Gürbüz | IBM |
| Santosh Borse | IBM |
| Yousaf Shah | IBM |
| Maroun Touma | IBM |
| Christopher Giblin | IBM |
| Marlene Wolfgruber | ABBYY |
| Maxime Vermeir | ABBYY |
| Morgan Logue | ABBYY |
| Andrew Pery | ABBYY |
| Jehlum Vitasta Pandit | RedHat |
| Ali Maredia | RedHat |
| Micaela Kaplan | HumanSignal |
| Ryan Chesler | NVIDIA |
| Riccardo Maggioni | Forgis |
License
DocLang is licensed under the Apache License 2.0. See LICENSE for details.
Metadata
Release files for doclang 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| doclang-0.8.0.tar.gz | 66.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| doclang-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 136.3 kB
Release files / doclang-0.8.0.tar.gz
| Download URL | doclang-0.8.0.tar.gz |
|---|---|
| Size | 66.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29607b86670c769071c785ade7b1f48d20f188b8eff9b68ffdb0446de1d979dc
|
|
BLAKE2b-256 checksum How to use checksums |
b13d67a1af92bcd22548b02aa44dc24615a511d5c5ee9070259625ddc4b3c0a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / doclang-0.8.0-py3-none-any.whl
| Download URL | doclang-0.8.0-py3-none-any.whl |
|---|---|
| Size | 69.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c768f641414629ec23576ed1a4a76b3e934ff734803f09f8d9bd084ac2cae90
|
|
BLAKE2b-256 checksum How to use checksums |
67186c22e40531a43ae978584f16a2ada71c358bf1174c56ce4e9a57d49f2753
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|