# Share a DVC Report — `dvc plots` Output Someone Else Can Open

Canonical: https://commareports.com/share-dvc-report
Published: 2026-09-12

> `dvc plots show` writes an HTML file and opens your browser. Publish that file to Comma so the metrics diff for a DVC experiment reaches reviewers who do not have the repo or the remote.

# Share a DVC report

`dvc plots diff main` is one of the better ML review experiences that exists.
It produces `dvc_plots/index.html`, opens your browser, and stops there — the
reviewer, who has neither your working tree nor your remote, gets a paragraph
in the PR description instead.

## Publish the file DVC already wrote

```bash
dvc plots diff main --targets eval/curves.json
# → file:///.../dvc_plots/index.html
```

Drag `dvc_plots/index.html` into [the app](https://commareports.com/), or from
CI:

```bash
dvc plots diff main -o dvc_plots

curl -fsS -X PATCH "https://commareports.com/api/v1/reports/$REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html dvc_plots/index.html \
        --arg title "Metrics vs main — $GIT_SHA" '{title: $title, html: $html}')"
```

Then post the link as a PR comment. See
[publishing from CI](/docs/ci) for the per-provider wiring, and
[GitHub Actions](/ci/github-actions-html-report) for the full job.

## Why the review layer matters for a metrics diff

A DVC diff is a claim: _this branch is better_. Reviewing that claim means
arguing about which curve counts, which is a conversation that belongs on the
curve:

- **Anchored threads** — "this is within run-to-run variance, show me three
  seeds" sits on the plot. See [commenting on HTML](/comment-on-html).
- **Revisions** — one report id per pipeline; drift is visible without a
  dashboard.
- **Access per report** — private, team-only, or domain-gated, which matters
  because metrics often leak dataset shape. See the
  [sharing model](/docs/sharing).

## Limits

- **Entry HTML: 5 MB.** DVC inlines plot data, so a long curve with many
  revisions can approach it — narrow `--targets` or downsample the JSON.
- **Assets: 25 MB per file, 250 MB and 500 files per report.**
- **60 requests/minute per token.**

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision
history.

**[Publish a DVC report →](https://commareports.com/)**

### Related

- [Share an MLflow report](/share-mlflow-report) · [Share a TensorBoard report](/share-tensorboard-report)
- [Share a Vega-Lite chart](/share-vega-lite-chart) · [Share a W&B report](/share-wandb-report)
- [Publish from GitHub Actions](/ci/github-actions-html-report) · [For data scientists](/for/data-scientists)
