David Hurt20 downloadsA deliberately minimal text file editor. Open JSON, CSV, Python and more in native tabs, with syntax highlighting and automatic saving.
There are already Obsidian plugins that open many kinds of files and offer extensive editing features. Just Simple File Viewer deliberately aims for minimalism: a small, focused way to read and edit text files in normal Obsidian tabs.
Open JSON, CSV, Python, TXT, configuration files and other text files, edit the source directly, and keep everything in your vault. It reuses the CodeMirror editor already built into Obsidian and bundles only selected syntax parsers. The JavaScript is about 85 KiB uncompressed, including license notices.
No Office viewers, document conversion engines, separate editor runtime, accounts or remote services. Just text.

Click a supported file in the vault file explorer. For any other text extension, right-click a file and choose Open as text, or use Just Simple File Viewer: Open text file from the command palette and enter its path relative to the vault, such as folder/example.json. The command opens that specific file without enumerating the vault. This also handles files without extensions, such as Makefile, and dotfiles that Obsidian exposes through its vault API. Obsidian's hidden configuration folder is outside this API.
In settings, add extensions separated by commas. Reload the plugin to apply extension associations. Markdown, Canvas, Bases, SVG and extensions already owned by another view keep their normal default viewer; Open as text can explicitly open their textual source. Known Office, PDF, image, archive and executable extensions are excluded.
CSV files open as a read-only table by default. To edit a CSV, click Edit as text and modify the original CSV source, then use the table button in the file header to return to the preview. Cells cannot be edited in the table view. Find and replace also switches to text. The preview uses Markdown table styles; switching views never converts the file to Markdown or changes its contents.

Three settings keep this simple:
Quoted separators, escaped quotes and multiline cells are supported. Cell contents are literal text: Markdown, links and HTML inside a CSV are not interpreted. The table uses Obsidian's Markdown table styles without a spreadsheet engine, sorting or cell editing. The preview shows at most 500 rows (including the header), 100 columns and 1,048,576 source characters; a notice identifies truncated previews. The complete file remains available in text mode. Malformed quoting shows an explanation and a button to edit the source.
HTML and SVG files are shown as text and never executed or rendered. There are no code execution, language server, completion or Office features.
Supports UTF-8, including UTF-8 with BOM. Other encodings are refused without changing the file; convert a copy to UTF-8 first. Standard LF, CRLF and CR line endings, the BOM and the absence of a final newline are preserved. A file with mixed line endings adopts its first line-ending convention when edited.
Files up to 20 MiB can be opened. Syntax highlighting is omitted above 1,048,576 characters. CodeMirror only renders the visible part of the document, although the file itself must fit in memory. These limits are safeguards, not a promise of identical performance on every device.
Requires Obsidian 1.13.0 or later.
main.js, manifest.json and styles.css from the latest release.<vault>/.obsidian/plugins/just-simple-file-viewer/ and copy the three files into it.npm ci
npm run check
npm run dev
Uses Obsidian's existing CodeMirror 6 modules for editing, history, search and viewport rendering. Only selected MIT-licensed CodeMirror stream parsers are included in the plugin bundle. No Monaco, React, network access, telemetry, CDN or separate editor runtime. See THIRD-PARTY-NOTICES.md.
The minimum app version is a conservative API baseline. Desktop integration is tested in the development vault; mobile compatibility uses the same public APIs but requires device testing.