# Justice > A small, dependency-free paragraph justification engine for the web. Every line break in a paragraph is chosen together, in the tradition of Knuth–Plass line breaking from TeX. Published on npm as `@kitlangton/justice`. The engine takes measured word widths and returns line breaks with word spacing, letter spacing, and optical-margin allowances. It has no DOM access; measurement and rendering belong to the caller. It runs in the browser, on a server, or at build time. ## Docs - [Package documentation](https://justice.kitlangton.com/docs.md): install, API, options, hyphenation, optical margins, per-line measures, static compilation, rendering contract - [Type declarations](https://justice.kitlangton.com/types.d.ts): the complete public API as TypeScript - [Changelog](https://justice.kitlangton.com/changelog.md) ## Optional - [npm](https://www.npmjs.com/package/@kitlangton/justice) - [Everything in one file](https://justice.kitlangton.com/llms-full.txt)