GitHub - ralphite/panda · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
ralphite
panda
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>37 Commits<br>37 Commits
.github/workflows
.github/workflows
cmd/panda
cmd/panda
docs
docs
extension
extension
internal
internal
scripts
scripts
spec
spec
web
web
.gitignore
.gitignore
AGENTS.md
AGENTS.md
Makefile
Makefile
README.md
README.md
embed.go
embed.go
go.mod
go.mod
go.sum
go.sum
install.ps1
install.ps1
install.sh
install.sh
View all files
Repository files navigation
Panda Screenshot
Panda Screenshot is a local screenshot capture and annotation app. It ships as a single self-contained binary — the server, web app, and Chrome extension are all bundled in.
Install
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/ralphite/panda/main/install.sh | sh
Windows (PowerShell)
irm https://raw.githubusercontent.com/ralphite/panda/main/install.ps1 | iex
The installer asks where to keep data (default ~/panda, or %LocalAppData%\Panda on Windows), puts a panda command on your PATH, writes the Chrome extension into /extension, optionally enables auto-start (launch at login + restart on crash), then runs Panda in the background and opens http://localhost:8088/screenshot. It finishes by printing the steps to load the Chrome extension.
Run panda any time to start it again.
Chrome Extension
Open chrome://extensions.
Enable Developer Mode.
Load unpacked from the extension folder in your data directory (the installer prints the path), or from extension/ in this repo when developing.
Keep Panda running on http://localhost:8088.
Click the extension icon on any normal page. It captures the visible viewport, opens a crop tab before the source tab, uploads the crop, then replaces that tab with the web editor.
Press Ctrl+Shift+P to trigger the same visible viewport capture from the keyboard.
Right click the extension icon and choose Full-page Screenshot when you need the old full-page capture flow.
Temporary captures live in Chrome extension IndexedDB. They are removed after upload, when the crop tab is closed, and after 30 minutes.
Keyboard
V select
R rectangle
O oval
L line
A arrow
P pencil
T text
Enter insert a newline while typing text
Esc finish typing text
Delete remove selection
C copy annotated image
Develop
npm --prefix web install<br>npm --prefix web run build<br>go run ./cmd/panda
Open http://localhost:8088/screenshot. The frontend must be built before the Go binary, since it is embedded at compile time.
Other targets: make build (single binary), make test (web + Go tests), make release (cross-compile every platform into dist/).
Flags: -data overrides the data folder; -web serves the frontend from disk instead of the embedded build, for live frontend work.
About
No description, website, or topics provided.
Resources
Readme
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
star
Watchers
watching
Forks
forks
Report repository
Releases
v0.2.1
Latest
Jun 17, 2026
+ 1 release
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Vue<br>31.8%
JavaScript<br>23.0%
Go<br>14.5%
TypeScript<br>14.3%
Shell<br>9.0%
PowerShell<br>4.3%
Other<br>3.1%
You can’t perform that action at this time.