#list #egui #virtual #ui #item #widgets #widget-for-egui #variables #virtual-list

egui_virtual_list

A virtual list widget for egui, with support for variable height items

8 releases (breaking)

new 0.8.0 Jul 11, 2025
0.7.0 Feb 7, 2025
0.6.0 Dec 19, 2024
0.5.0 Oct 3, 2024
0.1.0 Jan 21, 2024

#1494 in GUI

Download history 15/week @ 2025-03-21 11/week @ 2025-03-28 19/week @ 2025-04-04 34/week @ 2025-04-11 28/week @ 2025-04-18 11/week @ 2025-04-25 53/week @ 2025-05-02 402/week @ 2025-05-09 153/week @ 2025-05-16 193/week @ 2025-05-23 236/week @ 2025-05-30 308/week @ 2025-06-06 407/week @ 2025-06-13 88/week @ 2025-06-20 181/week @ 2025-06-27 199/week @ 2025-07-04

950 downloads per month
Used in 4 crates

MIT license

32KB
275 lines

egui_virtual_list

egui_ver Latest version Documentation unsafe forbidden License

This crate adds a virtual list widget to egui. Egui has a basic built-in virtual list in the ScrollArea widget. This crate has some extra features though:

  • Supports items with varying heights
    • Heights are calculated lazily and cached, as you scroll further down the list
  • Supports custom layouts, so you could place multiple items in a single row
  • Allows for adding items at the top without the scroll position changing

There are some limitations though:

  • If you want to support a crazy amounts of items (1000000+ items), where you can instantly jump anywhere in the list, I recommend using egui's built in ScrollArea instead.
  • Horizontal scrolling is not supported yet, but it should be easy to add if needed.

If you want to build a infinite scroll list, I recommend using the egui_infinite_scroll crate instead, which is using this crate internally.

Dependencies

~5–10MB
~99K SLoC