1# Chapter 15⅝: jerrys-pixel-icons, a hundred and eighty small pictures 2 3Look at the explorer on the left of this page. Every file has a little 4picture beside it: an orange crab for Rust, a robot for the CLAUDE.md files 5that agents read, a rosette for the licence. Every folder has two, one shut 6and one open. They are Jerry's Pixel Icons, drawn by 7[wolfsouldev](https://github.com/wolfsouldev/jerrys-pixel-icons) as an icon 8theme for VS Code, and borrowed here because a site that looks like an 9editor should have an editor's icons, and these are pixel art like the rest 10of it. 11 12Each icon is sixteen pixels square, drawn large (256 by 256) so it can be 13shown at any size and stay sharp, and about a kilobyte. The Worker carries 14them all and serves each at `/icons/<name>.png`, to be kept by the browser 15for good: an icon never changes under its name. 16 17> **Aside.** How does a file get its icon? The same way it does in the 18> editor the theme was made for. The theme has a map: this whole name gets 19> that icon (`README.md`, `.gitignore`, `LICENSE`), and failing that, this 20> extension does (`rs`, `toml`, `css`). The map is copied into 21> `packages/tree/src/icons_theme.rs`, and `tree::icons` adds the handful of 22> names this repository has that the theme has never met. 23 24> **Try it.** Open <https://lmjtfy.fun/icons/file-rust.png>, then 25> <https://lmjtfy.fun/icons/folder-src-open.png>. 26 27## For the people who maintain it 28 29| File | What | 30| --- | --- | 31| `file-<name>.png` | A file's icon, 256 by 256. | 32| `folder-<name>.png`, `folder-<name>-open.png` | A folder's icon, shut and open. | 33| [update.py](update.py) | Brings the icons and the theme's map over from a clone of upstream. | 34| [LICENSE](LICENSE) | MIT, the icons' author's. It goes wherever the icons go. | 35 36They are from `wolfsouldev/jerrys-pixel-icons` v0.3.0 (commit `515ab8e`), 37taken 2026-10-03. Upstream keeps each as an SVG holding one PNG; the PNG is 38taken out unchanged. Four that upstream draws as paths (`png`, `mp4`, 39`razor`, `robot`) are rendered to the same size. 40 41← Previous: [Chapter 15½, third-party/](../) · Up: [third-party](../) · Next: [Chapter 15¾, serenity-emoji/](../serenity-emoji/) →