File format support matrix
Short answer: The AI creates and surgically edits Word, Excel, PowerPoint, and SVG in place, plus creates (but can’t edit) PDF and HTML; it can read and search dozens more formats, including code, plain text, and legacy Office files. Local semantic search indexes a narrower set (code, text/markup, and the five main Office formats) and deliberately skips
.envand.logfiles even though they’re readable.
Documents & text
| Format | AI reads it | AI creates it | AI edits it | Indexed for semantic search |
|---|---|---|---|---|
Markdown (.md) | Yes | Yes (create_text_file) | Yes (edit_file) | Yes |
Plain text & config (.txt, .json, .csv/.tsv, .yaml, .toml, .ini/.conf, .xml) | Yes | Yes (create_text_file) | Yes (edit_file) | Yes |
Code (~30 file extensions: .ts, .js, .py, .rs, .go, .java, .c/.cpp, .sh, .sql, .rb, .php, .swift, .kt, and more) | Yes | Yes (create_text_file) | Yes (edit_file) | Yes |
HTML / webpages (.html, .htm) | Yes | Yes (create_webpage) | Yes (edit_file) | Yes |
SVG (.svg) | Yes | Yes (create_svg, or trace_image from a raster image) | Yes (edit_file) | No |
Word (.docx) | Yes (read_docx_text) | Yes (create_doc, from Markdown) | Yes, surgically (edit_docx_paragraphs; preserves theme, styles, and media) | Yes |
Excel (.xlsx) | Yes (read_xlsx_sheets, read_xlsx_range) | Yes (create_spreadsheet, from Markdown tables or CSV) | Yes, surgically (edit_xlsx_cells; preserves charts and formatting) | Yes |
Excel legacy & other (.xls, .xlsm, .xlsb, .ods) | View-only (in-app viewer); .xls also reachable via find_text | No | No | .xls only |
PowerPoint (.pptx) | Yes (read_pptx_text, read_pptx_structure) | Yes (create_presentation, 5 built-in themes) | Yes, surgically (edit_pptx_text, duplicate_slide, delete_slide) | Yes |
Yes (viewer + find_text) | Yes (create_pdf, from HTML) | No (the one document format the AI can’t edit in place) | Yes (text layer) |
.docx/.xlsx/.xls/.pptx/.pdf content is only searched by find_text when you (or the model) pass include_office:true; it’s off by default. .env and .log files are readable and previewable like any text file, but deliberately excluded from the semantic-search index so secrets and tokens in them can’t surface in a search result.
Templates
.docx, .pptx, and .xlsx files that use {{name}} / {{name:type}} placeholders get a separate fill engine (fill_docx_template, fill_pptx_template, fill_xlsx_template) that populates them with data while preserving every formatting choice: fonts, themes, charts, conditional formatting, slide masters.
Media (images, audio, video)
| Format | What the AI can do |
|---|---|
Images (.png, .jpg, .gif, .webp, .bmp, .avif, .ico) | Views them in-app; generates new ones from a prompt (generate_image, OpenRouter) or traces an existing raster into an SVG (trace_image). No raster-editing tool. |
Audio (.mp3, .wav, .ogg, .flac, .aac, .m4a, .opus, and more) | Plays in-app; generates speech or music from a prompt (generate_speech, generate_music, OpenRouter); trims, joins, splits, extracts, and cleans up audio locally via a bundled FFmpeg; transcribes locally via Whisper. |
Video (.mp4, .webm, .mov, .mkv, .avi, .m4v) | Plays in-app; generates new video from text or a starting image (generate_video, OpenRouter); trims, joins, splits, reframes to vertical/square, and burns captions locally via FFmpeg; transcribes locally via Whisper. |
Media generation always runs through OpenRouter’s hosted models; neither local Ollama nor Ollama Cloud can generate media. Media editing and transcription are the opposite: both run entirely on your machine, and nothing uploads anywhere. None of the media formats are indexed for semantic search; the index only covers text-extractable content.
Everything else the file viewer opens
A few format families sit outside the AI’s tools entirely: fonts (.ttf, .otf, .woff, .woff2) and archives (.zip, .tar, .gz, and similar) open in your OS’s default app when you launch them from the file tree, not inside Build Perch, and aren’t readable, editable, or indexed by AI tools. See The file viewer & supported formats for the full read-only viewer picture (75+ file types, including everything in the tables above).