File Formats
MikroSlides has one canonical editable deck format and one lighter authoring format.
- Use MikroSlides Markdown for hand-written outlines, scripts, and generated first drafts.
- Use JSON when a tool or script needs precise control over slides, objects, geometry, fonts, and assets.
MikroSlides Markdown
Section titled “MikroSlides Markdown”Use MikroSlides Markdown to create a deck from text. It is intended for hand-written outlines, scripts, and AI-generated first drafts.
Supported file extensions:
.md.markdown.mikroslides.md
Deck frontmatter is optional:
---title: Launch Planaspect: 16:9accent: #1665d8background: #f8fafc---Supported deck fields:
| Field | Values |
|---|---|
title | Deck title |
aspect or aspectRatio | 16:9, 4:3, 1:1 |
accent, background, muted, surface, text | CSS color values |
Slides can be separated with ---. Each slide can start with metadata:
---layout: image-rightimage: https://example.com/chart.pngalt: Chartskip: true
# Results
- Revenue improved- Retention improved
notes:Pause before showing the numbers.Supported slide fields:
| Field | Values |
|---|---|
layout | title, section, statement, bullets, image-left, image-right, quote, comparison, timeline, chart-data, closing |
background | CSS color value |
image | Image URL or data URL |
alt | Image description |
fit | cover, contain |
skip or skipped | true, yes, skip, 1 |
transition | none, fade, slide |
Ordinary Markdown headings also work:
# Launch Plan
Intro text for the title slide.
## Why now
- Customer demand- Internal readiness
## Next steps
1. Pilot2. Measure3. Roll outJSON and Programmatic Decks
Section titled “JSON and Programmatic Decks”.mikroslides.json is the canonical editable deck export. It contains the full deck record: slides, objects, theme, fonts, notes, skipped-slide state, and geometry.
The schema envelope is:
{ "schema": "mikroslides.deck", "version": 1, "exportedAt": "2026-06-11T00:00:00.000Z", "deck": { "id": "deck_example", "title": "Example", "slides": [], "activeSlideId": "slide_example", "aspectRatio": "16:9", "theme": {} }}The repository includes a JSON Schema at schemas/mikroslides-deck.schema.json.
Element geometry is stored in slide-relative units:
| Field | Meaning |
|---|---|
x | Percent from the left edge of the slide |
y | Percent from the top edge of the slide |
width | Percent of slide width |
height | Percent of slide height |
rotation | Degrees |
opacity | 0 to 1 |
Example text object:
{ "id": "el_title", "kind": "text", "x": 10, "y": 12, "width": 72, "height": 14, "rotation": 0, "opacity": 1, "locked": false, "content": "Launch Plan", "color": "#1e293b", "fontFamily": "system", "fontSize": 42, "fontWeight": 740, "lineHeight": 1.1, "italic": false, "align": "left", "verticalAlign": "center", "listStyle": "none"}JSON import is normalized by MikroSlides. Missing optional fields receive defaults, invalid layout and enum values fall back to safe values, and imported decks are copied into the local library as new decks.
Portable
Section titled “Portable”.mikroslides uses the same deck record as JSON and adds embedded assets where available. Use it when a deck should travel as one file with local images and local font assets.
Choosing a Format
Section titled “Choosing a Format”- Use Markdown for drafting and generated first versions.
- Use JSON for editable backups, tests, and programmatic full-fidelity decks.
- Use portable files when moving a deck with local assets between browsers or machines.