
[](https://xgrammar.mlc.ai/docs/)
[](https://github.com/mlc-ai/xgrammar/blob/main/LICENSE)
[](https://pypi.org/project/xgrammar)
[](https://pepy.tech/projects/xgrammar)
[](https://deepwiki.com/mlc-ai/xgrammar)
**Efficient, Flexible and Portable Structured Generation**
[Get Started](#get-started) | [Documentation](https://xgrammar.mlc.ai/docs/) | [Blogpost](https://blog.mlc.ai/2024/11/22/achieving-efficient-flexible-portable-structured-generation-with-xgrammar) | [Technical Report](https://arxiv.org/abs/2411.15100)
## News
- [2026/5] XGrammar-2 has been released! Check out our [blog](https://blog.mlc.ai/2026/05/04/xgrammar-2-fast-customizable-structured-generation) for more information.
- [2025/12] XGrammar has been officially integrated into [Mirai](https://github.com/trymirai/uzu)
- [2025/09] XGrammar has been officially integrated into [OpenVINO GenAI](https://github.com/openvinotoolkit/openvino.genai)
- [2025/02] XGrammar has been officially integrated into [Modular's MAX](https://docs.modular.com/max/serve/structured-output)
- [2025/01] XGrammar has been officially integrated into [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM).
- [2024/12] XGrammar has been officially integrated into [vLLM](https://github.com/vllm-project/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](https://docs.google.com/presentation/d/1iS7tu2EV4IKRWDaR0F3YD7ubrNqtGYUStSskceneelc/edit?usp=sharing).
- [2024/11] XGrammar has been officially integrated into [SGLang](https://github.com/sgl-project/sglang).
- [2024/11] XGrammar has been officially integrated into [MLC-LLM](https://github.com/mlc-ai/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**](https://github.com/vllm-project/vllm), [**SGLang**](https://github.com/sgl-project/sglang), [**TensorRT-LLM**](https://github.com/NVIDIA/TensorRT-LLM), and [**MLC-LLM**](https://github.com/mlc-ai/mlc-llm), as well as many other companies. You can also try out their structured generation modes!
## Get Started
Install XGrammar:
```bash
pip install xgrammar
```
For use with MPS on Apple Silicon, install with:
```bash
pip install "xgrammar[metal]"
```
Import XGrammar:
```python
import xgrammar as xgr
```
Please visit our [documentation](https://xgrammar.mlc.ai/docs/) to get started with XGrammar.
- [Installation](https://xgrammar.mlc.ai/docs/start/installation)
- [Quick start](https://xgrammar.mlc.ai/docs/start/quick_start)
## Third-Party Bindings
- **Rust**: [xgrammar-rs](https://github.com/trymirai/xgrammar-rs) — Community Rust bindings for XGrammar.
## Collaborators
XGrammar has been widely adopted in industry, open-source projects, and academia. Our collaborators include:
[

](https://x.ai/)
[

](https://www.deepseek.com/en/)
[

](https://github.com/NVIDIA/TensorRT-LLM)
[

](https://www.databricks.com/)
[

](https://about.meta.com/)
[

](https://about.google/)
[

](https://www.perplexity.ai/)
[

](https://www.modular.com/)
[

](https://github.com/sgl-project/sglang)
[

](https://github.com/vllm-project/vllm)
[

](https://github.com/mlc-ai/mlc-llm)
[
WebLLM](https://github.com/mlc-ai/web-llm)
[

](https://github.com/trymirai/uzu)
## Citation
If you find XGrammar useful in your research, please consider citing our papers:
```bibtex
@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}
}
```