PHP extension for the Typst typesetting engine

Maintainers

Package info

github.com/carthage-software/ext-typst

Type:php-ext

Ext name:ext-typst

pkg:composer/carthage-software/ext-typst

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.0 2026-03-30 18:04 UTC

This package is auto-updated.

Last update: 2026-03-30 18:11:27 UTC


README

A PHP extension that embeds the Typst typesetting engine, built with Rust via ext-php-rs.

Compile Typst markup to PDF, PNG, JPEG, and SVG directly from PHP. No CLI needed. No subprocess spawning.

Documentation | GitHub | Typst

Installation

Via PIE

pie install carthage-software/ext-typst

Pre-built binaries

Download the ZIP for your platform from GitHub Releases. Each ZIP contains a typst.so file. Extract it and add to your php.ini:

extension=/path/to/typst.so

IDE & static analysis stubs

composer require --dev carthage-software/ext-typst

Enables autocompletion in PhpStorm and support for Mago, PHPStan, and Psalm.

Quick Start

$world = new Typst\World();
$compiler = new Typst\Compiler($world);

const TEMPLATE = <<<'TYPST'
#set page(height: auto)
= Hello from Typst

This is a *bold* statement with _italic_ flair.
TYPST;

$document = $compiler->compileString(TEMPLATE);

$document->toPdf()->save('output.pdf');
$document->toImage()->save('output.png');
$document->toSvg()->save('output.svg');

See the full documentation at ext-typst.carthage.software.

Supported Platforms

Platform Architecture
Linux x86_64
Linux aarch64
macOS arm64

PHP 8.3, 8.4, and 8.5 are supported.

Development

Requires Rust (stable, 2024 edition) and just.

just build          # debug build
just release        # release build
just test           # run tests
just run-example X  # run examples/X.php
just lint           # clippy + mago lint
just check          # cargo check + mago analyze
just fmt            # format rust + php
just verify         # fmt-check + lint + check

For more examples, see examples/.

Acknowledgments

This project was developed by Carthage Software and is fully funded by our partner Buhta.

License

MIT OR Apache-2.0