Visual pull request review for iPhone, iPad & Android

Visual review for
KiCad pull requests.

See a pull request instead of reading it. KiCad Viewer downloads both versions of a pull request or merge request and marks what changed on the PCB layout, the schematic and the BOM: every part added, removed, moved or changed, and the copper and wiring that went with it.

Try it free on a real pull request →

KiCad Viewer on iPhone showing HackRF One pull request #1411 on the board: 194 changes, with the list of changes below

Why not git diff

A text diff of a KiCad file tells you almost nothing.

KiCad files are text, so every git host shows a diff of them. For a real board it is tens of thousands of lines of coordinates and IDs. This is HackRF One’s r10 pull request, the one the app ships as its sample.

GitHubgreatscottgadgets/hackrf #1411
hackrf-one.kicad_pcb+45,695−47,911
baseband.kicad_sch+4,413−1,706
clock.kicad_sch+0−4,432
frontend.kicad_sch+1,050−608
mcu.kicad_sch+925−506
hackrf-one.kicad_sch+185−282
hackrf-one.kicad_pro+13−20
7 KiCad files+52,281−55,465

lines added and removed

KiCad Viewera visual diff of the same pull request
Layout194 changes+23 added −39 removed ~132 changed
Schematic197 changes+19 added −43 removed ~135 changed
  • +C159100pFon GND, SGPIO_CLK · traces added on GND · via added
  • +L76.2nHwired to C102, C99, U17 · baseband
  • ~C69100nF → 100pF
  • ~C115moved 20.85 mm

Three ways to look

Overlay, Before and After, on the layout and every sheet.

Switch between the PCB layout, the schematic and the BOM, and the part you picked stays picked. Parts that changed only on the other canvas are listed too.

KiCad Viewer on iPad showing HackRF One pull request #1411 on the schematic: changed capacitor values, added parts and rewired nets tagged, with the change list beside it

Overlay

The new version in gray, with what was added in green, removed in red and changed in amber. A part that moved shows where it came from.

Before

The old version, dimmed, with what the pull request removes or changes drawn in full and what it adds as a faint ghost.

After

The new version, dimmed, with what it adds or changes drawn in full. Press and hold the canvas to flip between Before and After.

KiCad Viewer on iPhone stepping through HackRF One pull request #1411: J10, an added ground clip, picked on the board with its new trace and via, and its row below: GND_CLIP, on GND, traces added on GND, via added

One change at a time

A list of changes, in a reviewer’s words.

Each row is one part, or one run of routing or wiring, and says what happened to it: a value that changed, how far a part moved, which nets its pins moved to, and the traces and vias that came with it. Never a count of segments.

Prev and Next step through the rows, and the canvas follows. Tap a tag on the board and its row comes up.

Layout, Schematic and BOM tabsPrev and NextTap a tag to pick itOpen on GitHub

Only real changes

What KiCad rewrites on its own doesn’t count.

Saving a board rewrites much of the file. KiCad Viewer compares what the design means, which parts sit where and what connects to what, so none of this shows up as a change.

Refilled zones

Pours compare by their outline, net and layers, never by the fill.

Renumbered nets

KiCad renumbers nets when it saves. Tracks and vias compare by net name.

Copper with new IDs

A track with a fresh ID but the same place, width and net is the same track.

Renamed sheets

A renamed sheet renames every net on it. Nets are matched by the pads they connect, and the renames are one row.

A board moved on the page

When most parts moved by the same amount, the board moved. Changes are shown relative to it.

Older projects resaved

A KiCad 4 or 5 project resaved in KiCad 6 or later: old timestamps, re-sorted pads and re-split wires all match their converted selves.

Examplehackrf #1464 resaves the Opera Cake board, a KiCad 4 project, in KiCad 7 and moves it on the page. GitHub counts 63,576 lines added and 9,641 removed. KiCad Viewer finds one change: the date on the silkscreen became a text variable.

Your git host

GitHub, GitLab, Gitea, Forgejo and Codeberg.

Pull requests on GitHub, Gitea, Forgejo and Codeberg, merge requests on GitLab, self-hosted instances included. Three ways to open one:

From your clones

The start screen lists the open pull requests of every repository you've cloned, newest first. Tap one to compare it.

From a link

Paste a pull request or merge request link, or owner/repo to pick from its open requests. No clone needed; public GitHub repositories work without signing in.

From the open project

On a cloned project, the source control button lists that repository's open pull requests.

Try it free

Open a real pull request now.

The app comes with HackRF One’s r10 pull request: both revisions of a real open-source board, 194 changes on the layout. Tap Sample pull request on the start screen. No account, nothing to download.

Reviewing your own pull requests is part of Plus, which includes everything in Pro. See plans

Questions

About pull request review.

01

Does it need git or a computer?

No. The app asks your git host for the two versions of the project as archives and compares them on the phone or tablet. There is no git to install and nothing to check out on a desktop.

02

Which two versions does it compare?

The pull request's latest commit against its merge base, the commit its branch started from, which is what your git host's own diff shows. Commits that landed on the target branch since don't appear as changes.

03

Does it compare the schematic and the BOM too?

Yes. The PCB layout, every schematic sheet, and the BOM each have their own change list. A part picked on one stays picked when you switch to another.

04

Which KiCad versions does it handle?

Everything the viewer opens, KiCad 5 through KiCad 10, including a pull request that resaves a project in a newer KiCad.

05

Is my design uploaded anywhere?

No. Both versions download from your git host straight to the device and are compared there.

06

What does it cost?

Reviewing your own pull requests is part of Plus, which includes everything in Pro. The sample pull request in the app is free. Current prices are on the App Store and Google Play listings.

07

Why does GitHub ask to approve access to pull requests?

Listing a repository's pull requests needs the app's read access to pull requests. GitHub asks the owner of the account the app is installed on, an organization owner for an organization, to approve it once. Public repositories can be compared without it.

Get the app

Review the board, not the text.

KiCad Viewer is available for iPhone, iPad, and Android. The sample pull request is in the app, free.