xgrammar

Efficient, Flexible and Portable Structured Generation

Apache 2.0 40 个版本 Python <4,>=3.8
MLC Team
安装
pip install xgrammar
poetry add xgrammar
pipenv install xgrammar
conda install xgrammar
描述

logo

Documentation License PyPI PyPI Downloads Ask DeepWiki

Efficient, Flexible and Portable Structured Generation

Get Started | Documentation | Blogpost | Technical Report

News

  • [2026/5] XGrammar-2 has been released! Check out our blog for more information.
  • [2025/12] XGrammar has been officially integrated into Mirai
  • [2025/09] XGrammar has been officially integrated into OpenVINO GenAI
  • [2025/02] XGrammar has been officially integrated into Modular's MAX
  • [2025/01] XGrammar has been officially integrated into TensorRT-LLM.
  • [2024/12] XGrammar has been officially integrated into vLLM.
  • [2024/12] We presented research talks on XGrammar at CMU, UC Berkeley, MIT, THU, SJTU, Ant Group, LMSys, Qingke AI, Camel AI. The slides can be found here.
  • [2024/11] XGrammar has been officially integrated into SGLang.
  • [2024/11] XGrammar has been officially integrated into MLC-LLM.
  • [2024/11] We officially released XGrammar v0.1.0!

Overview

XGrammar is an open-source library for efficient, flexible, and portable structured generation.

It leverages constrained decoding to ensure 100% structural correctness of the output. It supports general context-free grammar to enable a broad range of structures, including JSON, regex, custom context-free grammar, etc.

XGrammar uses careful optimizations to achieve extremely low overhead in structured generation. It has achieved near-zero overhead in JSON generation, making it one of the fastest structured generation engines available.

XGrammar features universal deployment. It supports:

  • Platforms: Linux, macOS, Windows
  • Hardware: CPU, NVIDIA GPU, AMD GPU, Apple Silicon, TPU, etc.
  • Languages: Python, C++, JavaScript, and Swift APIs
  • Models: Qwen, Llama, DeepSeek, Phi, Gemma, etc.

XGrammar is very easy to integrate with LLM inference engines. It is the default structured generation backend for most LLM inference engines, including vLLM, SGLang, TensorRT-LLM, and MLC-LLM, as well as many other companies. You can also try out their structured generation modes!

Get Started

Install XGrammar:

pip install xgrammar

For use with MPS on Apple Silicon, install with:

pip install "xgrammar[metal]"

Import XGrammar:

import xgrammar as xgr

Please visit our documentation to get started with XGrammar.

Third-Party Bindings

  • Rust: xgrammar-rs — Community Rust bindings for XGrammar.

Collaborators

XGrammar has been widely adopted in industry, open-source projects, and academia. Our collaborators include:

WebLLM

Citation

If you find XGrammar useful in your research, please consider citing our papers:

@article{dong2024xgrammar,
  title={Xgrammar: Flexible and efficient structured generation engine for large language models},
  author={Dong, Yixin and Ruan, Charlie F and Cai, Yaxing and Lai, Ruihang and Xu, Ziyi and Zhao, Yilong and Chen, Tianqi},
  journal={Proceedings of Machine Learning and Systems 7},
  year={2024}
}
@inproceedings{10.1145/3786335.3813124,
  author = {Li, Linzhang and Dong, Yixin and Wang, Guanjie and Xu, Ziyi and Jiang, Alexander and Chen, Tianqi},
  title = {XGrammar-2: Dynamic and Efficient Structured Generation Engine for Agentic LLMs},
  year = {2026},
  isbn = {9798400724152},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3786335.3813124},
  booktitle = {Proceedings of the ACM Conference on AI and Agentic Systems},
  pages = {1009--1022},
  numpages = {14}
}
版本列表
0.2.2 2026-06-11
0.2.1 2026-05-17
0.2.0 2026-05-01
0.1.34 2026-04-29
0.1.33 2026-03-27
0.1.32 2026-03-04
0.1.31 2026-01-19
0.1.30 2026-01-17
0.1.29 2025-12-19
0.1.28 2025-12-09
0.1.27 2025-11-04
0.1.26 2025-10-20
0.1.25 2025-09-21
0.1.24 2025-09-04
0.1.23 2025-08-15
0.1.22 2025-07-27
0.1.21 2025-07-10
0.1.20 2025-06-30
0.1.19 2025-05-08
0.1.18 2025-04-08
0.1.17 2025-03-25
0.1.16 2025-03-15
0.1.15 2025-03-05
0.1.14 2025-02-26
0.1.13 2025-02-14
0.1.12 2025-02-13
0.1.11 2025-01-24
0.1.10 2025-01-16
0.1.9 2025-01-08
0.1.8 2024-12-25
0.1.7 2024-12-12
0.1.6 2024-12-07
0.1.5 2024-11-29
0.1.4 2024-11-25
0.1.3 2024-11-25
0.1.2 2024-11-25
0.1.1 2024-11-24
0.1.0 2024-11-22
0.1.5rc1 2024-11-27
0.1.4rc2 2024-11-25