JSONL Viewer for VSCode
VSCode extension to view JSONL/NDJSON files as interactive tables with SQL-like query support.

Features
- 📊 Table View: Display JSONL files as formatted tables
- 🔍 SQL Queries: Filter and sort data using SQL-like syntax
- ✨ SQL Editor: Syntax highlighting and autocomplete with CodeMirror
- 📜 Query History: Access previous queries with keyboard navigation
- ⚡ Virtual Scrolling: Handle large files (10,000+ rows) smoothly
- 🎨 VSCode Theme: Seamlessly integrates with your VSCode theme
- 🔗 Line Navigation: Click line numbers to jump to source
Supported File Types
.jsonl (JSON Lines)
.ndjson (Newline Delimited JSON)
Usage
- Open a
.jsonl or .ndjson file in VSCode
- The file will automatically open in the JSONL Viewer
- Use the query input to filter and sort data
Query Examples
-- Filter by exact value
SELECT * FROM data WHERE status = 'active'
-- Multiple conditions
SELECT * FROM data WHERE age > 30 AND department = 'Engineering'
-- Pattern matching
SELECT * FROM data WHERE name LIKE '%smith%'
-- Sorting
SELECT * FROM data ORDER BY created_at DESC
-- Pagination
SELECT * FROM data LIMIT 100 OFFSET 50
-- Select specific columns
SELECT name, email, status FROM data
Supported SQL Features
| Feature |
Syntax |
| Select all |
SELECT * |
| Select columns |
SELECT col1, col2 |
| Where clause |
WHERE col = 'value' |
| Comparison |
=, !=, <>, >, >=, <, <= |
| Pattern match |
LIKE '%pattern%' |
| List match |
IN ('a', 'b', 'c') |
| Logical |
AND, OR, NOT |
| Null check |
IS NULL, IS NOT NULL |
| Order by |
ORDER BY col ASC/DESC |
| Limit |
LIMIT n |
| Offset |
OFFSET n |
Note: The table name in FROM clause is ignored. Queries always apply to the current file.
Installation
From Source
# Clone the repository
git clone https://github.com/mametora/vscode-jsonl-viewer.git
cd vscode-jsonl-viewer
# Install dependencies
npm install
cd webview-ui && npm install && cd ..
# Build
npm run build
# Generate test data (optional)
node scripts/generate-test-data.js 10000
# Package (optional)
npx vsce package
Development
- Open the project in VSCode
- Press
F5 to launch the Extension Development Host
- Open a
.jsonl file to test
Screenshots
Coming soon
Known Limitations
- Aggregate functions (COUNT, SUM, AVG, etc.) are not supported
- JOIN operations are not supported
- Subqueries are not supported
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Commit Message Convention
This project uses Conventional Commits for automated releases.
<type>: <description>
[optional body]
Types:
feat: - New feature (triggers minor version bump)
fix: - Bug fix (triggers patch version bump)
docs: - Documentation changes
chore: - Maintenance tasks
refactor: - Code refactoring
test: - Adding or updating tests
Breaking Changes:
Add ! after the type or include BREAKING CHANGE: in the body to trigger a major version bump.
feat!: remove deprecated API
# or
feat: new API
BREAKING CHANGE: old API has been removed
Release Process
Releases are automated using release-please.
- Merge PRs with conventional commit messages to
master
- release-please automatically creates/updates a Release PR
- When the Release PR is merged:
- A new GitHub release is created
- The version in
package.json is updated
CHANGELOG.md is generated
- The extension is automatically published to VS Code Marketplace
License
MIT