# `zoom` Rescale entire pages ## Usage > pdftl `` `zoom` `...` `output` `` ## Details The `zoom` operation rescales entire pages (including the MediaBox) to fit a specified target dimension. Unlike `place`, which only moves content within existing boundaries, `zoom` physically transforms the page size. This is an **in-place** operation: unspecified pages are left unchanged. **Syntax:** `zoom "([,])"` **Target Formats:** * **Relative/Percentage:** `(50%)` or `(200%)`. Resizes the page relative to its current dimensions. * **Single Value/Paper:** `(A4)` or `(100mm)`. Scales the page uniformly so that it fits inside a bounding box of that size (aspect ratio preserved). * **Explicit Box:** `(100mm,200mm)`. Scales the page uniformly to fit inside the specified width and height. * **Axis Specific:** `(width=A4)` or `(height=11in)`. Scales the page proportionally based only on the specified dimension. **Options:** * `shrink`: Only scale pages down. If the page is already smaller than the target, it remains unchanged. * `grow`: Only scale pages up. If the page is already larger than the target, it remains unchanged. **Note:** Scaling is always uniform. If a target rectangle is provided, the operation uses the limiting dimension to ensure the entire page fits inside the "envelope". ## Examples > Shrink only the first 3 pages to 50% of their size ``` pdftl in.pdf zoom '1-3(50%)' output out.pdf ``` > Scale the whole document to A4 width ``` pdftl in.pdf zoom '(width=A4)' output out.pdf ``` > Ensure all pages fit within a 10x10 inch box, but only if they are larger ``` pdftl in.pdf zoom '(10in,shrink)' output out.pdf ``` > Mixed operation: First page to A4, others to 80% ``` pdftl in.pdf zoom '1(A4)' '2-end(80%)' output out.pdf ``` **Tags**: in_place, geometry *Source: pdftl.operations.zoom* *Read online: [https://pdftl.readthedocs.io/en/stable/operations/zoom.html](https://pdftl.readthedocs.io/en/stable/operations/zoom.html)* *Type: Operation*