OneWebView — Multi-kiosk web dashboard in a grid.
OneWebView is a Windows desktop app (C# .NET 8.0, WebView2/Chromium) that displays multiple web pages at once in a configurable grid (up to 10×10 tiles). Per tile: URL rotation with sub-URLs + delays, per-tile zoom, auto-refresh, global dark mode and fullscreen. All configurable via a single JSON config file.
Grid layout (rows/cols)
Build a dashboard wall with 1 to many tiles (max 10×10 grid = 100 tiles). Perfect for monitoring dashboards or information displays.
Sub-URL rotation per tile
Let one tile automatically cycle between multiple pages with configurable delays (in seconds). Rotation runs continuously: main URL → sub-URLs → main URL.
Kiosk experience
Clean display without distraction: fullscreen mode (F11), minimal UI, scrollbars hidden, popups blocked and predictable behaviour. Optional auto fullscreen.
Zoom & scale per tile
Every web app is different. Set a zoom factor per tile. Zoom via Ctrl+Scroll over URL bar, context menu or JSON config.
Auto-refresh
Refresh pages automatically at a configurable interval (in seconds). Perfect for dashboards that need real-time updates.
Dark mode & theming
Global dark mode configurable via JSON. Automatically adapts Windows title bar (Windows 10/11). Light and dark themes for all UI elements.
Edit mode & shortcuts
Ctrl+E for edit mode (change URLs), F11 for fullscreen toggle, F1 for About version dialog. URL info overlay on hover, hides automatically.
Config = deployable
JSON is version-control friendly. Share configs with colleagues, deploy to multiple screens. Auto-save on changes.
JSON configuration (example)
A single dashboard.json file defines grid layout, fullscreen, dark mode and all tiles. Changes are saved automatically. The dashboard runs embedded inside the application.
{
"rows": 2,
"cols": 2,
"startFullscreen": true,
"darkMode": true,
"tiles": [
{
"url": "https://status.cloudflare.com/",
"delay": 0,
"subUrls": [
{ "url": "https://status.aws.amazon.com/", "delay": 30 },
{ "url": "https://www.githubstatus.com/", "delay": 30 }
],
"zoom": 0.5,
"autoRefresh": 300
},
{
"url": "https://grafana.com/grafana/dashboards/",
"delay": 0,
"subUrls": [
{ "url": "https://status.datadoghq.com/", "delay": 20 }
],
"zoom": 0.9,
"autoRefresh": 120
},
{
"url": "https://example.com/",
"delay": 10,
"subUrls": [
{ "url": "null", "delay": 10 },
{ "url": "null", "delay": 20 }
],
"zoom": 1.0,
"autoRefresh": 0
},
{
"url": "https://example.com/",
"delay": 0,
"subUrls": [
{ "url": "null", "delay": 10 },
{ "url": "null", "delay": 20 }
],
"zoom": 1.0,
"autoRefresh": 0
}
]
}
Configuration explained
rows/cols: Grid dimensions (1–10, max 100 tiles total).
startFullscreen: Start automatically in fullscreen mode (F11 to toggle).
darkMode: Global dark mode for all UI elements and Windows title bar.
url: Main URL for the tile (required).
delay: Wait time in seconds before rotation to sub-URLs starts (0 = immediately).
subUrls: Array of sub-URLs with delays. Use "null" as placeholder for empty slots.
zoom: Zoom factor per tile (1.0 = 100%).
autoRefresh: Auto-refresh interval in seconds (0 = disabled).
Download
OneWebView is a Windows desktop application (.NET 8.0, WebView2). Requires Windows 10/11 and Microsoft Edge WebView2 Runtime (usually already installed).
Technical details: Single-file self-contained executable (win-x64).
Contact
For questions, feedback or use cases, email:
Is OneWebView a "kiosk browser" or a dashboard tool?
Both: it's a kiosk browser that you arrange in a configurable grid, focused on reliable display of dashboards and web tools on (large) screens. Built with C# .NET 8.0 and WebView2 (Chromium engine).
Can I rotate multiple pages per tile?
Yes. With subUrls and delay, one tile automatically cycles between multiple URLs while other tiles stay fixed. Rotation runs continuously: main URL → sub-URLs → main URL. Delays are configurable per URL in seconds.
How does zoom per tile work?
Each tile has its own zoom factor. Set it via JSON config, Ctrl+Scroll over the URL bar, or via the context menu (right-click). Zoom is saved automatically in the config.
What are the keyboard shortcuts?
Ctrl+E: Toggle edit mode (edit URLs), F11: Toggle fullscreen, F1: About version dialog, Ctrl+Scroll (over URL bar): Zoom in/out.
Is there a way to share configs?
Yes. Because it's JSON, you can save and share configs with your team. The application auto-saves changes to dashboard.json in the application directory.
How large can the grid be?
Maximum 10×10 grid (100 tiles total). The grid is built dynamically with SplitContainers for even distribution. Larger grids may use more resources.