On this page
Overview
Onsen UI is a framework for PWA and hybrid mobile interfaces built around Web Components. Its framework-agnostic core includes flat iOS-style and Material Android-style components, with additional bindings for React, Vue, and Angular.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose mobile-oriented interfaces with Web Components
Custom elements and CSS components for pages, toolbars, lists, buttons, navigation, and related UI let applications build mobile-style screens from HTML and JavaScript.
Sources: [2]
Use platform styling and optional framework bindings
The component set includes flat iOS and Material Android designs with platform-aware styling, while separate packages integrate the API with React, Vue, and Angular.
Sources: [2]
Best fit
Fits Cordova-style hybrid apps, PWAs, and maintenance of existing Onsen UI applications
It is useful when a project wants one web-technology UI layer across iOS and Android, particularly for hybrid applications or existing Onsen UI codebases.
Sources: [2]
Before adoption
Validate current browsers and WebViews instead of relying only on the historical support table
The README lists broad legacy support such as Android 4.4.4+ and iOS 9+. New adoption should still test the actual target browsers and embedded WebViews.
Sources: [2]
Official sources
- [1]OnsenUI/OnsenUI repository(2026-09-30)
- [2]Onsen UI README(2026-09-30)
- [3]onsenui package metadata(2026-09-30)
- [4]Onsen UI core Apache-2.0 license(2026-09-30)
- [5]Onsen UI 2.12.8 GitHub release(2026-09-30)
Supplemental curator note
Its framework-agnostic Web Components core remains useful for hybrid mobile interfaces, but new adoption should validate the exact package version and target WebViews. The core onsenui package is Apache-2.0 licensed.
Try it in 3 steps
- 1
Install the Onsen UI core package
Add the framework-agnostic core package using the npm command from the official README.
npm install onsenui - 2
Import JavaScript and styles
Load the Web Components implementation plus the core and component styles from the application entry point.
import 'onsenui'; import 'onsenui/css/onsenui.css'; import 'onsenui/css/onsen-css-components.css'; - 3
Render an Onsen UI component
Add custom elements to the page and verify platform styling and component behavior in the target browser or WebView.
<ons-page><ons-toolbar><div class="center">Demo</div></ons-toolbar><ons-button>Tap me</ons-button></ons-page>
Growth
Growth trends · Last 30 days
8,856 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 12
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- onsen-ui
- cordova
- react
- angular
- monaca
- hybrid-apps
- javascript
- webcomponents
- customelements
- vue
- material
- android
- Stars
- 8,856
- Forks
- 993
- Watchers
- 291
- Open issues
- 2
- Contributors
- 104
- Owner type
- Organization
- Primary language
- JavaScript
- License
- Apache-2.0
- Repository last updated
- Jun 17, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Storybook91,174 Stars
3 shared tag(s) · 1 shared category(s)
capture UI states once and reuse them across docs, interaction tests, and agent tooling
TypeScript - Tauri111,467 Stars
2 shared tag(s) · 2 shared category(s)
Combine a web frontend and Rust native layer into desktop and mobile apps using system WebViews
Rust - Redux61,488 Stars
2 shared tag(s) · 2 shared category(s)
make shared-state updates explicit with stores/actions/reducers, while modern code uses Toolkit
TypeScript - Zustand58,774 Stars
2 shared tag(s) · 2 shared category(s)
manage React state with provider-free hook stores and subscribe through selectors
TypeScript - TanStack Query50,383 Stars
2 shared tag(s) · 2 shared category(s)
Manage fetching, caching, refetching, and mutations for remote server state outside local UI-state code
TypeScript - React250,821 Stars
2 shared tag(s) · 1 shared category(s) · Same language
build web and native interfaces from declarative components
JavaScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.