Convert a list to LaTeX

Paste one item per line and get a LaTeX `itemize` or `enumerate` block back - each line becomes an `\item`. No escaping is done; if your content contains LaTeX-special characters (`\`, `&`, `%`, `$`, `#`, `_`, `{`, `}`, `^`, `~`), escape them before pasting. Runs in your browser.

Input
Ready
Output
Live

A flat LaTeX list generator

The output is a single-level LaTeX list environment. Every non-blank input line becomes one `\item <value>` line, indented with two spaces, wrapped in `\begin{…}` / `\end{…}` with the environment you picked. Itemize is the bulleted default; enumerate produces a numbered list.

There is no escaping. LaTeX has nine reserved characters - `\`, `&`, `%`, `$`, `#`, `_`, `{`, `}`, `^`, `~` - and if any of them appear in your items unescaped, the document will fail to compile. That is a deliberate choice: escaping depends on context (math mode vs text mode) and on which packages you have loaded, so the tool does not try to guess. Escape your source first, or post-process the output.

Nested lists are not supported - the tool emits a single-level flat list only. If you need `\begin{itemize}` inside another `\begin{itemize}`, build the inner fragment here and paste it into your larger document by hand, or compose with the Add prefix tool to indent nested items.

How to use convert a list to latex

  1. 1Paste your list into the input panel, one value per line
  2. 2Pick Environment: itemize (bulleted) or enumerate (numbered)
  3. 3Output updates live; blank input lines are dropped
  4. 4Copy the LaTeX block, or download it as a .tex file, and paste into your document

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this generator actually does

Specific behaviors - match them against your document expectations.

Flat single-level list

One input line becomes one `\item`. No nesting, no hierarchy. For nested lists, build the inner fragment here and paste into your outer environment manually.

Two environments: itemize and enumerate

Itemize (default) is the bulleted list environment. Enumerate is the numbered list - LaTeX auto-numbers the items in the final document. The wrapper around the items changes accordingly.

Two-space indentation, fixed

Every `\item` line is indented with exactly two spaces. Easy to read in source, plays well with most LaTeX editors and diff tools. No tab option.

No escaping - escape your inputs first

LaTeX-special characters in your items are emitted verbatim. If you paste `100% pure` you will get `\item 100% pure` which fails to compile because `%` starts a LaTeX comment. Escape special characters in your source (`\%`, `\&`, `\$`, etc.) before pasting.

Blank lines dropped; runs in your browser

Empty and whitespace-only input lines are filtered before the list is built. The whole transformation is client-side - useful when your list contains research data, internal specs, or anything you would not paste into a cloud service.

Worked example

Four section names converted to an itemize environment.

Input
Introduction
Methods
Results
Discussion
Output
\begin{itemize}
  \item Introduction
  \item Methods
  \item Results
  \item Discussion
\end{itemize}

Settings reference

One option - Environment. Escaping and blank-line dropping are fixed.

Setting What it does Effect on the sample
Environment: itemize (default) Wraps items in `\begin{itemize}` / `\end{itemize}` - bulleted list Produces the 6-line block shown above
Environment: enumerate Wraps items in `\begin{enumerate}` / `\end{enumerate}` - numbered list Same item lines, different wrapper; LaTeX auto-numbers 1., 2., 3.
Escaping (none) `\`, `&`, `%`, `$`, `#`, `_`, `{`, `}`, `^`, `~` are emitted verbatim `100% pure` would produce `\item 100% pure` which fails to compile - escape first
Blank lines (automatic) Empty and whitespace-only input lines are skipped A trailing blank input line does not produce an empty `\item`

FAQ

Why does the tool not escape LaTeX-special characters?
LaTeX escaping is context-dependent - what you need depends on math mode vs text mode, which packages you have loaded (`hyperref`, `listings`), and whether the character appears alone or in a pattern. A generic escaper would be wrong in common cases. Escape your source first using your editor or a dedicated LaTeX escape tool.
Can I produce nested `itemize` blocks?
Not directly - the tool emits a single-level list. Generate the inner fragment here, then paste it inside an outer `\begin{itemize}` block manually. Or use the Add prefix tool to indent nested items before wrapping.
What happens to blank lines in my input?
They are skipped. Empty and whitespace-only input lines do not produce empty `\item` entries.
What is the difference between itemize and enumerate?
Itemize is the LaTeX environment for bulleted (unordered) lists. Enumerate is for numbered (ordered) lists - LaTeX auto-numbers the items when the document is compiled. Pick based on whether you want bullets or numbers in the final PDF.
Can I use this for description lists (term / definition pairs)?
Not with this tool - it emits only itemize or enumerate. For definition-list-style output, use the HTML tool with List type `dl`, which splits each line on the first colon into term and definition.