Available Blocks
Last updated March 23, 2026
The builder provides blocks you drag onto the canvas to construct your template. Blocks are organized into three categories: Layout for structural elements, Content for text, images, and data, and Extra for specialized components.

Layout
Layout blocks define the structure of your template. They act as containers that hold other blocks.
Page
The Page block is the root element of every template — it represents a single PDF page. When you create a new template, a Page block is added automatically.
Key settings:
- Paper format — A0, A1, A2, A3, A4, A5, A6, Letter, and Custom.
- Orientation — Portrait or landscape.
- Background color — set a page background via the Styles panel.
- Padding — control the inner spacing around the page edges through the Spacing section of the Styles panel.
Most other blocks can be placed inside a Page. You typically have one Page block per template, but you can add more for multi-page layouts.
Container
A Container is a flexible grouping element — think of it as a <div> that holds other blocks together. By default, a Container stacks its children vertically (flex column).
Key settings:
- Display — block or flex. Flex enables powerful layout capabilities like direction, alignment, and gap control.
- Layout direction — vertical (column), horizontal (row), or grid. Configure in the Layout section of the Styles panel.
- Gap — spacing between child elements.
- Alignment — control how children are positioned within the container (start, center, end, stretch, space-between).
Content
Content blocks display the actual information in your template — text, headings, images, raw HTML, and tables.
Text
The Text block holds rich text content. Select it and click Edit Text Content in the Settings panel to open the rich text editor.
Formatting options:
- Bold, italic, underline, strikethrough
- Bullet lists and numbered lists
- Links
- Font size, color, and alignment (via the Styles panel)
Text blocks do not accept child blocks.
Heading
The Heading block renders a heading element (h1 through h6). It works like the Text block but is styled as a heading by default.
Key settings:
- Heading level — select h1, h2, h3, h4, h5, or h6 in the Settings panel.
- Edit Heading Content — opens the same rich text editor as the Text block.
Use heading levels to create a visual hierarchy in your document, not just for font size. Screen readers and accessibility tools rely on heading structure.
Image
The Image block displays a picture in your template. You configure its source in the Settings panel.
Source options:
- Static URL — paste a direct link to an image.
- Upload — select a file from your computer. It is converted to a data URI and embedded in the template.
- Dynamic binding — bind the source to a field in your test data (for example,
user.avatar) so each generated document can show a different image.
For more details, see Images.
HTML
The HTML block lets you insert raw HTML content using a code editor. This is useful when you need markup the visual blocks cannot produce, such as custom SVGs or complex table layouts.
Click Edit HTML Content in the Settings panel to open the code editor and write your markup.
Scripts do not run in the editor by default
<script> tags inside HTML blocks only execute during PDF generation, not in the editor preview. If your HTML block relies on JavaScript to render its content, enable the Run scripts in editor toggle in the Settings panel, otherwise the block will appear blank in the preview.Styling
HTML blocks bypass the builder’s visual styling system. Content inside an HTML block must be styled directly using inline styles, Custom CSS, or Tailwind utility classes — Tailwind is loaded globally and available throughout the entire template, including inside HTML blocks.
Table
The Table block creates a data table with auto-generated structure. When you add one, the builder creates the full hierarchy — thead, tbody, rows, header cells, and data cells — so you start with a ready-to-use table. Manage rows and columns in the Settings panel, style individual cells in the Styles panel, and use the repetition setting to generate rows dynamically from your data.
For more details, see Tables.
Extra
The Extra category contains specialized blocks for specific use cases.
QR Code
The QR Code block generates a QR code image directly in your template.
Key settings:
- Content — the data encoded in the QR code. Can be a static value (like a URL) or bound to a data variable.
- Size — the width and height of the QR code in pixels.
- Foreground/background colors — customize the colors of the QR code dots and background.
- Reliability level — error correction level (L, M, Q, or H). Higher levels make the QR code more resilient to damage but increase its density.
- Dot style — square, dots, rounded, extra-rounded, classy, or classy-rounded.
- Corner style — square, dot, or extra-rounded.
- Logo — an optional image placed in the center of the QR code. Can be a static URL or a data-bound value.
For more details, see QR Codes.
Common settings for all blocks
Every block shares a few settings available in the Settings panel:
- Element info — shows the block type and the HTML tag it renders as.
- Logic panel — configure conditional display or repetition for any block except the root Document element. See Conditions and Loops for details.
The Styles panel is also available for every block, giving you control over layout, spacing, typography, borders, backgrounds, and positioning. For advanced style techniques, see Custom CSS and Situational Styling.
Next steps
- Follow the Your First Template tutorial to build a complete template from scratch.
- Learn about Conditions and Loops to make your templates dynamic.
- Explore Custom CSS and Custom JS for advanced customization.
Frequently asked questions
- What block types are available in the PDFMonkey visual builder?
- The builder provides blocks in three categories: Layout (Page and Container), Content (Text, Heading, Image, HTML, and Table), and Extra (QR Code). Each block can be dragged onto the canvas and configured via the Settings and Styles panels.
- What is a Container block in PDFMonkey?
- A Container is a flexible grouping element that holds other blocks together. It supports block or flex display, vertical/horizontal/grid layout directions, gap spacing, and alignment controls. Use Containers to group related content and apply logic like conditional visibility or repetition.
- Can I write raw HTML in a PDFMonkey builder template?
- Yes. The HTML block lets you insert raw HTML using a code editor. It’s useful for custom SVGs, complex layouts, or markup the visual blocks can’t produce. Style the content with inline styles, Custom CSS, or Tailwind utility classes.