Markdown Import is in BETA. This importer supports Deckset syntax for common Markdown presentation files and works best when your deck uses standard Markdown plus presentation-style commands for slide dividers, backgrounds, images, notes, and footers.
Importing a Markdown file
To import a Markdown presentation file into Figma, open the Pitchdeck plugin and drag a .md, .markdown, or .zip file from your computer into the import dropzone underneath the slide list. You can also click the import dropzone and browse for the file.
If your deck was written for Deckset, you can import the same Markdown file directly. Pitchdeck supports Deckset-style syntax for slide dividers, presenter notes, images, footers, slide numbers, and other supported presentation commands.
Pitchdeck will create a new page in your current Figma file, then add each Markdown slide as an editable Figma slide frame. Most imported content is created as regular Figma text, image, vector, and layout layers, so you can keep editing the deck after import.
Zip local media together with your Markdown file. If your Markdown file references local images, SVGs, videos, or audio files, create a .zip file that contains one .md or .markdown file plus all of the local media files it references. If you do not want to bundle local files, use direct external image or media URLs instead.
Supported Markdown content
Markdown Import supports common presentation content and imports it into editable Figma layers where possible:
- Headings, paragraphs, quotes, inline code, code blocks, and formulas as editable text.
- Bold, italic, strikethrough, superscript, subscript, inline links, and simple
<span style="">text styling. - Unordered, ordered, nested, and source-numbered lists.
- Tables with basic alignment.
- Footnotes, including named footnotes and multiline footnotes.
- Presenter notes from
^ notelines. - Local slide anchors and links, including
[Jump](#slide-anchor)links. - Inline images, background images, split left/right images, image rows, remote SVGs, and missing-media placeholders.
- Video and audio references as media metadata or placeholders.
- Mermaid flowchart, graph, and pie diagrams as vector diagrams.
- Pikchr box/arrow diagrams as vector diagrams.
Presentation commands
You can add commands at the top of the Markdown file to control the whole import:
autoscale: true
background-image: hero.png
build-lists: notFirst
fit-header: #, ##
footer: Confidential
image-corner-radius: 18
paragraphs-as-presenter-notes: false
slide-dividers: ####
slidecount: true
slidenumbers: true
time-budget: 12You can also add per-slide commands using bracket syntax:
[.background-color: #111827]
[.footer: Local footer override]
[.slidenumbers: false]
# Slide titleSome commands are preserved as metadata so the original Markdown intent is not lost, even when Figma does not have a direct editable equivalent.
build-lists: notFirst
slide-transition: fade(0.4)
time-budget: 12Slide dividers and anchors
Use --- to separate slides. If you prefer heading-based slide breaks, add a slide-dividers command at the top of the file.
slide-dividers: ####
# First slide
---
#### Second slideYou can add anchors to headings or with HTML anchor tags:
# Closing Summary {#closing-summary}
<a name="pricing-slide"/>External links are imported as Figma text hyperlinks. Local links that point to an imported slide anchor are converted into Figma prototype navigation links after all slides have been created.
[Visit Hypermatic](https://hypermatic.com)
[Jump to closing](#closing-summary)Images and media
Use regular Markdown image syntax for images:


For local images, keep the referenced file paths inside the same .zip as the Markdown file:
presentation.zip
deck.md
images/hero.png
diagrams/flow.svgThen reference those files from the Markdown:

If an image is not included in the zipped import, use a direct external URL instead:
Common image modifiers include:
inlinefor inline slide content.leftorrightfor split-image slide layouts.fitorfillfor image scaling.alpha(0.6)for image opacity.corner-radius(16)for rounded image corners.bn,bw,vivid,noir,chrome,fade,saturation(),blur(),contrast(),brightness(),exposure(),sepia(),vignette(), andsharpen()for static image filter approximations.
Leading image-only lines at the start of a slide are treated as background images. SVG background images are imported as regular vector content instead of Figma image fills.
Video and audio references are preserved as Markdown media metadata. If the media file can be resolved, Pitchdeck creates a placeholder using the file metadata; otherwise it creates a clear missing-media placeholder so the import can continue.
Diagrams
Mermaid and Pikchr fenced code blocks are imported as vector diagrams for the supported diagram types.
```mermaid
flowchart LR
A[Markdown] --> B[Pitchdeck]
B --> C[Figma]
``````pikchr
box "Markdown"
arrow right
box "Figma"
```More complex Mermaid or Pikchr diagrams may be imported as a vector source-card fallback so the original diagram source remains visible and editable after import.
Tables and footnotes
Markdown tables are imported as editable text-based table layouts:
| Left | Center | Right |
| --- | :---: | ---: |
| Plain | _Emphasis_ | **Strong** |Footnotes are collected on the slides that reference them:
Here is a claim with a footnote.[^source]
[^source]: First footnote line.
Continuation line for the same footnote.Presenter notes
Use lines that begin with ^ to add presenter notes to a slide:
# Slide title
Visible slide content.
^ This note is saved with the imported slide.Presenter notes are saved on the imported slide as Pitchdeck slide data and Markdown-specific plugin data, so they can be used by Pitchdeck after import.
Current limitations
- Formula syntax is kept visible as editable text; it is not converted into a rendered math diagram.
- Build-list commands are preserved as Markdown metadata, but they are not converted into native Figma layer build steps.
- Slide-transition commands are metadata-only for normal Figma design-file imports. When importing into a Figma Slides file, Pitchdeck attempts to apply the closest native Figma slide transition if the Figma API supports it.
- Audio files do not play directly from imported Figma frames; audio references are preserved as metadata/placeholders.
- Remote media imports depend on the URL being directly accessible from the plugin.
- Some diagram and image filter commands are approximated to match the closest available Figma behavior.
Troubleshooting
If the import appears slow, please wait for the importer to finish preparing the Markdown slides. Larger Markdown files with many remote images can take longer because the plugin needs to resolve those assets before it can render the deck.
If an image, video, or audio file is missing after import, try importing the Markdown file again and include the referenced local media files in the same drag-and-drop action.
If a local slide link does not navigate to another slide, check that the target slide has a unique anchor and that the link uses the same anchor ID.
Creating Markdown decks with AI
Use AI to draft a compatible .md deck. You can ask AI tools like OpenAI, Claude, or Gemini to turn slide ideas, rough outlines, meeting notes, transcripts, or existing documents into Pitchdeck-compatible Markdown. For best results, ask for plain Markdown only, use --- between slides, use # and ## headings, add presenter notes with ^, and avoid unsupported HTML or custom CSS.
Here are a few example prompts you can copy and adapt:
Turn the notes below into a Pitchdeck-compatible Markdown presentation.
Use Deckset-style syntax with:
- `---` between slides
- `#` for slide titles
- concise bullets
- Markdown tables where useful
- `^` lines for presenter notes
Add these commands at the top of the file:
autoscale: true
fit-header: #, ##
slide-dividers: ---
slidenumbers: true
Output only the final .md file content, with no explanation.
Notes:
[paste your notes here]Create a 10-slide product demo deck as a Pitchdeck Markdown import file.
Use a strong title slide, problem slide, workflow slide, feature slides, a comparison table slide, and a closing slide.
Use `---` to separate slides, `#` and `##` for headings, and `^` lines for presenter notes.
Add simple per-slide commands like `[.background-color: #f8fafc]` only where they help the design.
Do not use unsupported HTML layouts or custom CSS.
Output only Markdown.Convert this meeting transcript into an executive summary deck for Pitchdeck.
Keep each slide focused on one idea.
Include slide titles, 3-5 bullets per slide, and presenter notes that summarize what to say.
Use Deckset-style Markdown syntax compatible with Pitchdeck import:
- `---` between slides
- `#` and `##` headings
- Markdown tables where comparison is useful
- `^` lines for presenter notes
Output only the .md file.
Transcript:
[paste your transcript here]Starter Markdown example
If you want a quick way to try Markdown Import, you can copy and paste the example below into a new .md file, or download a more complete demo deck:
Download the Pitchdeck Markdown import demo .md file
autoscale: true
background-color: #f8fafc
fit-header: #, ##
footer: Pitchdeck Markdown Import Demo
slide-dividers: ---
slidecount: true
slidenumbers: true
[.background-color: #0f172a]
[.header: #ffffff, alignment(center), text-scale(92)]
[.text: #cbd5e1, alignment(center), text-scale(34)]
# [fit] Markdown to Figma Slides
Turn a plain `.md` deck into editable Pitchdeck slides.
^ This note is saved as a presenter note on the imported slide.
---
# Why Markdown Import?
[.column]
## Write fast
- Draft in any editor
- Keep slides in Git
- Reuse existing Markdown notes
[.column]
## Design later
- Import as editable Figma layers
- Adjust type, layout, and colors
- Export to PPTX when ready
[.end-columns]
---
# One file, many layer types
| Markdown source | Imported result |
| --- | :---: |
| Headings and paragraphs | Editable text |
| Lists and quotes | Structured text |
| Tables | Text-based table layout |
| Presenter notes | Slide notes |
---
[.background-color: #ecfdf5]
[.header: #065f46, alignment(center), text-scale(76)]
# Try it yourself
1. Save this as `pitchdeck-demo.md`.
2. Open Pitchdeck in Figma.
3. Drag the `.md` file into the import dropzone.
4. Edit the imported slides in Figma.