Supported File Types

Monofile picks an editor from the file's extension. This page maps the 54 extensions it recognises to the nine editors that open them, and says what happens to everything else.

How the type is chosen

Only the name matters. Monofile reads the last dot segment of the filename, lowercases it, and looks it up. report.final.md is markdown, server.test.ts is TypeScript. The extension gives a MIME type, and the MIME type picks the editor.

So the type is a property you can change. Rename notes.txt to notes.md and it opens in the markdown editor from then on. There is no conversion step, because both are plain text.

The nine editors

EditorOpensWhat you get
WYSIWYGMarkdown, text, unknown typesLive formatted editing, slash commands, [[wiki-links]], mermaid, tables, task lists
CodeCode, config and data filesSyntax highlighting, minimap, bracket colouring, folding, find and replace
HTML.html, .htmA sandboxed live render of the page, with a toggle back to the source
Drawing.drawAn Excalidraw whiteboard: shapes, arrows, freehand, text
Canvas.canvasA spatial board of file, note, link and group nodes joined by labelled edges
Slides.slidesA markdown slide deck rendered as a presentation, with an inspector for editing, a presenter window and HTML or PowerPoint export. See Slide Decks
Attachment.pptx, .pdfA download card for exported decks and PDFs; the bytes live in object storage
ImageImagesAn inline viewer
VideoVideoAn inline player with controls and a generated poster frame

Markdown, HTML and canvas files also have a raw toggle. Press Cmd+Shift+V (Ctrl+Shift+V on Windows and Linux) to swap the rendered view for the source in the code editor, and press it again to go back.

Every extension

GroupExtensionsOpens in
Markdown and text.md .mdx .txt, no extension, any unrecognised extensionWYSIWYG
JavaScript and TypeScript.js .jsx .ts .tsx .mjs .cjsCode
Data and config.json .yaml .yml .toml .xmlCode
Shell.sh .bash .zshCode
Stylesheets.css .scss .sass .lessCode
Other languages.py .go .rs .java .c .cpp .h .hpp .cs .rb .php .swift .kt .sqlCode
HTML.html .htmHTML
Drawings.drawDrawing
Canvas boards.canvasCanvas
Slide decks.slidesSlides
Attachments.pptx .pdfAttachment
Images.png .jpg .jpeg .gif .webp .svg .avifImage
Video.mp4 .webm .mov .mkv .aviVideo

What actually gets stored

Monofile stores every text type as plain text, byte for byte what you see under the raw toggle. Markdown files hold markdown. .draw and .canvas files hold JSON, and .slides decks are plain markdown. There is no wrapper format and no export step. The API, the CLI and the editor all hand you the same bytes.

So the rest of the product applies to every text file: versions on every write, [[wiki-links]], share links, agent reads and edits, diffs and reverts.

Images and video are the exception. Their bytes live in object storage and the file record carries a CDN URL instead of content, so uploading is the only way to create one.

Limits

LimitValue
Large text file warning5 MB
Media upload size500 MB per file
Accepted upload typesImages and video only
Nodes per canvas board500

Next steps

  • Markdown FilesMarkdown files, the WYSIWYG editor, and the markdown Monofile stores.

  • Code FilesMonaco-backed editing for every supported language, and what it gives you.

  • DrawingsExcalidraw drawings stored as .draw files, drawn by hand or generated from mermaid.

  • Canvas BoardsSpatial boards of live file nodes, notes, links, groups and labelled edges.

  • Slide DecksMarkdown slide decks: write them, edit them in the inspector, present, and export to HTML or PowerPoint.

  • HTML FilesHTML files with live preview, and artboard rendering on canvas.

  • Images and VideoHow images and video render, stream and get thumbnails, and where PDFs fit.

  • Data FilesJSON, YAML, TOML, XML and friends: editing, validation and formatting, and where CSV stands.

  • LimitsSizes, counts, timeouts and rate limits in one table.

742 words