Skip to content

Renderer types reference

CanvasMesh picks a renderer by looking up the canvas ext in the table below. Override with the render parameter on create/update.

Renderer IDTypeDefault extensions
rdr_builtin_nonenone(fallback — anything not below)
rdr_builtin_htmlhtmlhtml, htm
rdr_builtin_markdownmarkdownmd, markdown
rdr_builtin_reactreactjsx, tsx
rdr_builtin_svgsvgsvg
rdr_builtin_jsonjsonjson
rdr_builtin_texttexttxt, log, js, ts, css, py, go, rs, java, sh, yaml, yml, toml
rdr_builtin_imageimagepng, jpg, jpeg, gif, webp, bmp, ico
rdr_builtin_notebooknotebookipynb

The SDK RenderType, the REST render field, and the CLI --type flag all accept the same values:

none, html, markdown, react, svg, json, text, image, notebook

ExtensionMIME
html, htmtext/html
md, markdowntext/markdown
jsx, tsxtext/plain
svgimage/svg+xml
jsonapplication/json
txt, log, texttext/plain
jstext/javascript
tstext/typescript
csstext/css
pytext/x-python
gotext/x-go
rstext/x-rust
javatext/x-java
shtext/x-shellscript
yaml, ymlapplication/yaml
tomlapplication/toml
png, jpg, jpeg, gif, webp, bmp, icoimage/…
pdfapplication/pdf
ipynbapplication/x-ipynb+json
(other)application/octet-stream

When no match exists, the canvas is created with none. The viewer shows file metadata and a download button — no preview is attempted.

await client.update(canvasId, { render: 'markdown' });

The content file is unchanged; only the renderer assignment updates. A new version is not created for renderer-only changes.