# `barcode`
Generate and add a barcode to pages
## Usage
> pdftl `` `barcode` `...` `[layer_name` `]` `output` ``
## Details
The `barcode` operation generates a barcode (e.g., QR code, DataMatrix, Code128) from specified
text or templates and overlays it onto the input document.
### Syntax
`[page_range]!![(options)]`
* **page_range:** Standard page selection (e.g., `1-5`, `even`, `1-end`). Defaults to all pages
if omitted.
* **data:** The string to encode into the barcode. Supports dynamic template variables like `{n}`
(page number within the sequence) and `{page}` (absolute page number).
* **options:** A comma-separated list of `key=value` pairs enclosed in parentheses.
### Positioning & Layout
The barcode operation uses a strictly Cartesian coordinate system, matching the `add_text`
operation.
* **position:** Use preset anchors (`top-left`, `top-right`, `bottom-center`, `mid-center`,
etc.). These place the barcode **exactly flush** against the visible page boundaries.
* **offset-x / offset-y:** Cartesian shifts applied after the base position. Use these to add
inward margins. For example, if positioned `top-right`, use `offset-x=-36pt` to push the
barcode left, and `offset-y=-36pt` to push it down.
* **x / y:** Absolute coordinates measured from the bottom-left corner of the page. Mutually
exclusive with `position`.
* **width:** The physical dimension of the rendered barcode (e.g., `72pt`, `1.5in`). The height
is calculated automatically to preserve the exact aspect ratio of the generated matrix.
### Barcode Options
* **format:** The type of barcode to generate (default: `QRCode`).
* **scale:** Internal rendering resolution multiplier to ensure the generated matrix is crisp
before scaling it to the physical `width` (default: 10).
## Examples
> Basic barcode
```
pdftl in.pdf barcode '!https://github.com/pdftl/pdftl!' output out.pdf
```
**Tags**: in_place, overlay, layer, barcode
*Source: pdftl.operations.barcode*
*Read online: [https://pdftl.readthedocs.io/en/latest/operations/barcode.html](https://pdftl.readthedocs.io/en/latest/operations/barcode.html)*
*Type: Operation*