# HTML to Typst

Convert semantic HTML into a standalone Typst document you can edit, compile, or turn into a project.

HTML to Typst takes structured web markup and gives you Typst source. Headings, paragraphs, emphasis, lists, links, and simple tables come across, so you don't have to rebuild them by hand.

## Use it when

- you wrote the HTML or have permission to reuse its content;
- the page uses meaningful elements such as headings, paragraphs, and lists;
- you want the document structure in Typst, not a visual copy of the page.

Paste the HTML itself. The tool doesn't download web pages, run scripts, or rebuild a layout that depends on CSS and JavaScript.

## Convert markup

1. Open **HTML to Typst**, or run `/html-to-typst`.
2. Paste an HTML fragment or a full document, or choose **Load example**.
3. Choose **Convert**.
4. Read the generated Typst.
5. Copy it, save `converted.typ`, or choose **Create project** to open it as a Typst project.

For example:

```html
<h2>Method</h2>
<p>We compared <strong>three</strong> conditions.</p>
<ul><li>Control</li><li>Treatment</li></ul>
```

becomes a Typst heading, a paragraph with bold text, and a bullet list.

## What survives the move

The Pandoc that ships with Oleafly converts the semantic structure on your device. Grid layouts, responsive breakpoints, animations, and most CSS styling have no Typst equivalent and are left out.

Check links, code blocks, tables, nested lists, and image references afterwards. The tool doesn't fetch remote images or stylesheets. To bring in an `.html` file with its images, use **Import a project → HTML page** in the library, which can create a Typst project and extract embedded images into `assets/`. The [import guide](/docs/import-project/) covers it.

For a LaTeX destination, use [HTML to LaTeX](/docs/tools/html-to-latex/).
