> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.laposta.org/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.laposta.org/_mcp/server.

# What requirements must a custom HTML template meet?

> Make your own HTML template suitable for Laposta with editable tags and read how to import it.

If you have your own design, you do not need to recreate it in the drag & drop editor. You can set it up as HTML in Laposta and use it to create campaigns, provided the template meets a number of requirements.

You cannot simply import a design from Photoshop or another graphics programme. You must convert it to HTML first, as this is the only coding language that ensures your text, images and links are displayed properly in your newsletter.

Have you only made a sketch? First check whether you can largely recreate it using one of the basic templates in Laposta. Laposta can also convert your sketch into HTML for you, but this requires a fair amount of work: the designers have to build the template from scratch. The costs for this are the same as for a [custom template](/wat-moet-ik-doen-om-een-ontwerp-op-maat-te-laten-maken).

If you only want to place a piece of your own HTML into a newsletter made in the drag & drop editor, please read [HTML code in the editor](/kan-ik-zelf-html-code-aan-mijn-nieuwsbrief-toevoegen).

## Requirements for your HTML template

The template you import must consist of standard HTML and CSS. When building it, bear in mind that email clients lag quite far behind web browsers, which means not everything is possible. Outlook 2007, 2010 and 2013 in particular cause limitations.

## Making elements editable with tags

With Laposta tags, you can specify in your HTML which elements may be edited when creating a campaign. Anything you do not mark remains fixed. This prevents the layout from being changed accidentally.

| Element                                                                                            | What you can do with the tag                                                                   |
| -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [Text](/tags-om-tekst-te-wijzigen)                                                                 | Make short text fields and larger text blocks editable                                         |
| [Image](/tags-om-een-afbeelding-te-wijzigen)                                                       | Allow an image to be replaced, scaled and given a link                                         |
| [Video](/tags-om-video-screenshot-te-wijzigen)                                                     | Place a clickable screenshot with a play button for a YouTube or Vimeo link                    |
| [Repeat blocks](/tags-om-blokken-te-herhalen)                                                      | Allow a content block to be added as many times as needed                                      |
| [Table of contents](/tags-om-een-inhoudsopgave-te-tonen)                                           | Automatically generate a table of contents from the text elements you mark for this purpose    |
| [RSS or Atom feed](/tags-om-een-rss-of-atom-feed-te-importeren)                                    | Automatically load articles from a website into the newsletter                                 |
| [Unsubscribe, edit, subscribe and webversion](/tags-voor-afmelden-wijzigen-aanmelden-en-webversie) | Include the standard links directly in the template. This is required for the unsubscribe link |
| [Pagination](/tags-om-blokken-te-herhalen#setting-page-breaks-with-lp-pagebreak)                   | Determine where the pages start when the newsletter is printed as a PDF                        |

## A good example template as a starting point

Laposta has provided a boilerplate template on GitHub that works well and is fully responsive. You can use this as a starting point for further customisation:

Boilerplate template on GitHub

## Importing and testing your template

You can load your final HTML template via Campaigns → Templates → ‘Import’: from your own computer, from a location on the internet or by entering the code directly. You can read how to do this in [Importing or entering your own HTML template](/hoe-importeer-ik-mijn-sjabloon-vanaf-mijn-eigen-computer).

If you want to be able to adjust your template later on, host it online yourself, for example at a URL on your own website. You can then import it again each time.

After importing, check whether your template works everywhere: see [Testing your imported template](/moet-ik-het-geimporteerde-sjabloon-nog-testen).

## Related articles

#### [Why do you need to test your own HTML template yourself?](/moet-ik-het-geimporteerde-sjabloon-nog-testen)

Why and how to check the display of your own template in different email clients yourself.

#### [Importing your own HTML template](/hoe-importeer-ik-mijn-sjabloon-vanaf-mijn-eigen-computer)

Add a reusable template from your computer, a URL or as HTML code.

#### [Importing a ready-made newsletter](/hoe-importeer-ik-mijn-nieuwsbrief-vanaf-internet)

Import your own HTML newsletter from the internet, your computer or by pasting the code…

#### [What types of templates are there?](/hoe-kom-ik-aan-een-sjabloon)

Choose a ready-made design, code your own template in HTML or have a custom design made.