canmetry

Canmetry Community — Vehicle Log Viewer

Canmetry

Open-source, browser-based CAN log analyzer.
Load BLF / ASC / CSV / MF4 and DBC, decode in the browser, then explore on Graph, Trace, or DBC.

Open Canmetry online → · Community demo · User guide · Architecture

Community edition — open source, runs in your browser, and does not upload your log or DBC files.

The hosted edition at canmetry.com builds on the same browser-based analyzer with optional account, project, and team features. The community edition remains available here to run locally or deploy yourself.

Hosted tools

Open the matching Canmetry tool for the job:

Task Canmetry tool
Open and inspect a BLF log BLF viewer
Decode BLF to MAT or CSV BLF to MAT converter
Export raw BLF frames to CSV BLF to CSV
Convert BLF to ASC BLF to ASC
Decode ASC to MAT or CSV ASC to MAT converter
Decode MF4 to MAT or CSV MF4 to MAT converter
Browse messages and signals in a DBC DBC viewer
Find errors in a DBC DBC checker
Compare two DBC files DBC compare
Export a DBC to Excel or CSV DBC to Excel
Decode or encode a CAN signal CAN signal calculator

Screenshots

Graph

Canmetry Graph view showing decoded signals and charts

Signal charts, cursors, and groups for inspecting decoded signals over time.

Trace

Canmetry Trace view showing CAN frames and decoded details

Searchable frame table with decoded details and bit activity heatmap.

DBC

Canmetry DBC view showing messages, signals, and bit layout

Browse messages, signals, nodes, and bit layout without loading a log.


Features


Architecture

Canmetry Community is a static client-side application:

The three main views all read from the same local analysis session:

Implementation details: docs/architecture.md


Quick start

pnpm install
cp .env.example .env.development
pnpm dev

Open http://localhost:3000.

Typical workflow

  1. File → Load CAN log…
  2. File → Load DBC…
  3. File → Channel mapping… — assign DBC(s) to channels, then click Start parsing on the mapping card
  4. View → Graph / Trace / DBC

Details: docs/guide.md

Local deployment / preview

pnpm build
pnpm preview

GitHub Pages build

VITE_BASE_PATH=/your-repo-name/ pnpm build:pages

The app is distributed as a static SPA. No database or backend service is required for the community edition.


Deploy (GitHub Pages)

Static SPA — no server or database. CI workflow: .github/workflows/pages.yml.

  1. Push to main (or clean-main)
  2. Repo Settings → Pages → Source: GitHub Actions
  3. Optional repo Variables: VITE_BASE_PATH, VITE_APP_URL, VITE_COMMERCIAL_URL

Local static build:

VITE_BASE_PATH=/your-repo-name/ pnpm build:pages
# Output: .output/public (includes 404.html SPA fallback)

Optional env:

Variable Purpose
VITE_BASE_PATH Asset/router base (/ or /repo-name/)
VITE_APP_URL Public site URL
VITE_APP_NAME App title
VITE_COMMERCIAL_URL Link to hosted Pro edition (optional)

Documentation

Doc Description
docs/guide.md Detailed Graph, Trace, DBC user guide
docs/architecture.md Implementation architecture and data flow
docs/screenshots/ Screenshot assets for README
THIRD_PARTY_NOTICES.md Dependency licenses

License

MIT — see LICENSE.