MarkItDown
    GUIDE

    What is Markdown? A Practical Introduction for LLM Users

    by Adriano Caruso5 min read

    Understand Markdown in 10 minutes. What it is, why LLMs love it, and the seven elements you actually need. With real-world examples.

    Markdown is a lightweight text format originally developed for bloggers and programmers. Today, it has become the de facto standard for communicating with language models like Claude, ChatGPT, and Gemini. If you work with LLMs regularly, formatting your inputs in Markdown saves tokens, adds structure, and reduces errors. This guide explains what Markdown is, why LLMs love it, and how to use it in practice.

    Markdown in 30 seconds

    Markdown is a simplified markup language. Instead of complicated HTML tags like <h1>Heading</h1>, you just write # Heading. Instead of <strong>bold</strong>, you write **bold**. The format was created in 2004 by John Gruber and is now the standard for README files on GitHub, notes in Obsidian, documentation in many software projects, and inputs for AI systems.

    Three properties make Markdown special.

    It is readable even without a renderer. A Markdown text remains understandable even when displayed as plain text.

    It is semantic. The symbols describe meaning, not appearance. A heading is a heading, regardless of whether it ends up displayed in blue or black.

    It is universal. Almost every modern platform understands Markdown natively or with minimal plugins.

    Why LLMs love Markdown

    Language models were trained on enormous amounts of Markdown text. GitHub repos, Stack Overflow, Wikipedia source, technical blogs, all of it is Markdown. The result is that Claude, ChatGPT, Gemini, and other models recognize Markdown structures immediately and use them for internal processing.

    Three concrete advantages follow.

    Structure recognition. When you give Claude a text with headings, lists, and tables, the model understands the hierarchy. A question about a specific section is answered correctly with higher probability because the model knows exactly which part belongs to which topic.

    Token efficiency versus HTML. An HTML table with ten rows easily consumes 200 to 300 tokens just for the tags. The same table in Markdown uses 80 to 120 tokens. This adds up quickly for larger documents.

    Unambiguity. Markdown is standardized enough that models have little room for interpretation. Unlike raw running text that sometimes appears ambiguously structured, # Main topic is always a main heading.

    The essential Markdown elements

    You do not need to learn the entire Markdown vocabulary. Seven elements cover 95 percent of all use cases.

    Headings use the number of pound signs to indicate hierarchy:

    # Main heading (H1)
    ## Section (H2)
    ### Subsection (H3)
    

    Bold and italic:

    **This is bold**
    *This is italic*
    

    Lists, both unordered and numbered:

    - First item
    - Second item
    - Third item
    
    1. First step
    2. Second step
    3. Third step
    

    Code blocks, optionally with language specification for syntax highlighting:

    def hello():
        print("Hello, World")
    

    Tables:

    Column 1Column 2
    Value AValue B
    Value CValue D

    Links:

    [Anchor text](https://www.markitdown.de)
    

    Quotes:

    > This is a quote block.
    

    That is everything you need for structured LLM inputs.

    What Markdown cannot do

    Here is an honest overview of what Markdown deliberately leaves out.

    No fonts, no colors, no sizes. Markdown is semantic, not visual. If you need precise control over appearance, Markdown is the wrong format.

    No complex layouts. Multi-column designs, boxes, tabs do not exist in standard Markdown. Extensions exist, but they are not universally compatible.

    No scripts or interactivity. Markdown is static.

    Limited tables. Markdown tables are functional but inflexible. Nested cells, merged columns, or formulas are not supported.

    Images are only referenced. You can link images but not embed them directly like in a Word document. For LLM inputs this is usually fine, since many models process images separately anyway.

    For most LLM applications, these limitations are not a problem. On the contrary, they are a feature. Less formatting means less distraction for the model.

    Three examples from real LLM usage

    Example one, feeding Claude with a project overview.

    Instead of sending unstructured running text, format it clearly:

    # Project Customer Portal v2.0
    
    ## Goal
    Migration from legacy system to modern React stack.
    
    ## Stakeholders
    - Frontend team: 4 developers
    - Backend team: 3 developers
    - Product Owner: Anna Müller
    
    ## Timeline
    | Phase | Start | End |
    |-------|-------|-----|
    | Discovery | 2026-06-01 | 2026-06-15 |
    | Design | 2026-06-16 | 2026-06-30 |
    | Implementation | 2026-07-01 | 2026-09-30 |
    

    Claude answers "Who is the Product Owner?" immediately and correctly, without searching through the text, because the hierarchy is clear.

    Example two, loading a knowledge base into Claude Projects.

    When you upload PDF reports, Excel tables, or Word documents into your Claude Project, these are often internally chaotic in structure. If you convert them to Markdown first, response quality improves noticeably. You can use tools like MarkItDown, which handles the conversion in your browser without your documents ever reaching a server.

    Example three, prompts with clear structure.

    # Task
    Analyze the following contract text for legal risks.
    
    # Context
    This is a service agreement between an agency and a startup.
    
    # Output format
    Respond as a numbered list with:
    1. Identified risk
    2. Reasoning
    3. Recommended adjustment
    
    # Contract text
    [Insert text here]
    

    This structure works significantly more reliably with any modern LLM than a long running-text prompt.

    Common mistakes with Markdown for LLMs

    Over-formatting. Some users bold or italicize every other word. This creates more confusion than it helps. Use formatting deliberately.

    Inconsistent lists. If you use bullet points in one section and numbered lists in the next without an obvious reason, it looks chaotic. LLMs interpret that as meaningful.

    Tables for everything. Tables are great for tabular data. They are the wrong choice for two-column running text. Use headings and lists instead.

    Forgotten blank lines. Markdown needs blank lines between blocks, between paragraphs and lists, between code blocks and text. Without these blank lines, the structure is sometimes not recognized correctly.

    Conclusion

    Markdown is not an end in itself. It is a tool that makes your communication with LLMs more efficient. Seven elements cover 95 percent of all cases, and you can learn them in less than ten minutes. If you want to prepare PDFs, Word documents, or Excel tables for LLMs, a converter step is worth the effort. Structured input leads to better output. That is the simplest rule in practical LLM use.

    Read more

    MMarkItDown

    Documents as Markdown for Claude, ChatGPT and Gemini

    Navigation

    Built on the open-source library MarkItDown by Microsoft. This tool is an independent browser frontend and is not officially affiliated with Microsoft.

    © 2026 Caruso Consulting UG (haftungsbeschränkt), Limburg an der Lahn

    Built by Caruso Consulting