Transliterate modern English text into phonetic Akkadian cuneiform.
A Python toolkit for converting any text into Unicode cuneiform script using the Akkadian syllabary.
My Spotify app recently notified me that Gun Has No Trigger by the band Dirty Projectors was the first track I listened to there, on April 10, 2012. The image Spotify displayed - rows of cuneiform on what looked like a square tablet - intrigued me. The band released the song in March 2012 as a limited-edition 8-inch square vinyl single, and the B-side featured the song's lyrics translated into Sumerian Akkadian cuneiform by Dr. M. Willis Monroe (University of British Columbia). It was called the Gun Has No Trigger Tablet of Values.
This project generalises that gesture: a reusable, open pipeline for rendering modern texts in cuneiform script.
The immediate translation target is Claude's Constitution (January 2026 version): a document describing the values, character, and behavior Anthropic hopes Claude will embody, written with Claude the AI as its primary audience. The oldest known written laws (the Code of Ur-Nammu, c. 2100 BCE, and the Code of Hammurabi, c. 1754 BCE) were written in cuneiform.
Claude's Constitution is released under a Creative Commons CC0 1.0 license, meaning it is free for any use without restriction.
English text is broken into approximate syllables and mapped to Akkadian cuneiform signs via the syllabary. Not linguistically rigorous, but visually authentic and computationally tractable. This is what the CLI does today.
True translation: English concepts mapped to their Akkadian semantic equivalents. This requires Assyriologist input. See CONTRIBUTING.md for how to help.
git clone https://github.com/your-username/cuneiform-translator.git
cd cuneiform-translator
python -m pip install -r requirements.txt # minimal dependenciesNo external dependencies are required for the core transliterator. Python 3.8+ is sufficient.
# Transliterate a string
python translate.py "The crowd will yell but the gun has no trigger"
# Transliterate a file
python translate.py --file examples/claudes_constitution_excerpt.txt
# Show interlinear display (English over cuneiform)
python translate.py --file examples/claudes_constitution_excerpt.txt --interlinear
# Show statistics
python translate.py "the truth will make you free" --statsfrom src.transliterator import transliterate, render_interlinear
result = transliterate("The world will go better if there is more honesty in it.")
print(result["cuneiform"])
print(render_interlinear(result["word_map"]))
print(result["stats"])Input:
the gun has no trigger
Output:
𒋼𒄭𒑱𒄖𒌦𒑱𒄩𒀸𒑱𒉡𒑱𒋾𒊑𒄀𒄀𒊒
Interlinear:
the gun has no trigger
𒋼𒄭 𒄖𒌦 𒄩𒀸 𒉡 𒋾𒊑𒄀𒄀𒊒
| Block | Range | Content |
|---|---|---|
| Cuneiform | U+12000–U+123FF | Standard signs |
| Cuneiform Numbers | U+12400–U+1247F | Numeric signs |
| Early Dynastic Cuneiform | U+12480–U+1254F | Archaic signs |
The Akkadian syllabary used here draws on:
- The Assyrian Dictionary (CAD), Oriental Institute, University of Chicago
- Huehnergard, J. (2011). A Grammar of Akkadian, 3rd ed. Eisenbrauns.
- Worthington, M. (2012). Complete Babylonian. Teach Yourself.
Sign values reflect standard Old Babylonian Akkadian (c. 2000–1600 BCE), the best-documented period of the language.
- Core phonetic transliteration engine
- Akkadian syllabary (CV, VC, CVC patterns)
- Semantic hint layer (common English words)
- Interlinear display
- CLI
- Semantic translation lexicon (needs Assyriologist collaboration)
- SVG/PNG clay tablet renderer
- Web interface
- Determinative (semantic classifier) insertion
- Model spec full translation artifact
- Support for Sumerian (distinct from Akkadian)
Contributions welcome, especially from Assyriologists and cuneiformists.
See CONTRIBUTING.md for the full guide. The highest-value contribution is expanding the semantic lexicon in data/syllabary.py with scholarly Akkadian equivalents for modern English concepts.
MIT. See LICENSE.
Dr. M. Willis Monroe, whose Gun Has No Trigger translation demonstrated that this is both possible and worth doing.
Dave Longstreth and Dirty Projectors