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.

The Blocks panel showing Layout, Content, and Extra categories

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).
Use Containers to group related content. For example, wrap a heading and a paragraph in a Container, then use the Logic panel to show or hide the entire group based on a condition.

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

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.