Choices-js/Choices

A vanilla JS customisable select box/text input plugin ⚡️

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 9th, 2026
Created on March 15th, 2016
Open Issues & Pull Requests: 193 (+0)
GitHub issues: Enabled
Number of forks: 631
Total Stargazers: 6,823 (+0)
Total Subscribers: 66 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.6 days
Mean response time: 105.5 days
90th percentile: 322.1 days
Tracked items: 156

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 4 days, while "feature request" waits about 7 weeks. Only 5% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 83
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 758 days
Stale 30+ days: 82
Stale 90+ days: 78

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (97)
  • feature request (58)
  • Accessibility (9)
  • accepting PRs (6)
  • As designed (4)
  • Support request (4)
  • good first issue (4)
  • need more info (4)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Choices.js is a vanilla JavaScript customizable select box and text input plugin.

The tool addresses the need for lightweight, flexible dropdown and input enhancements without requiring jQuery or other dependencies. It works by wrapping standard HTML select elements and text inputs, providing a configurable interface that supports single and multiple selections, grouped options, search and filtering, custom sorting, and right-to-left text direction. The plugin offers a clean API with callbacks and events for responding to user interactions, alongside CSS customization through custom properties and custom templates for rendering choices.

Developers should choose this tool when building projects that need enhanced select boxes or searchable inputs without adding framework dependencies. It suits applications where bundle size matters, since the gzipped footprint is minimal. The README positions it as an alternative to Select2 and Selectize, distinguishing itself through the absence of jQuery dependency and its lightweight nature. Projects requiring flexible styling, fast search performance, and straightforward configuration will find it well-suited.

The project maintains active test coverage with continuous integration workflows for unit tests and bundle size monitoring. Development activity shows consistent attention to code quality and performance constraints.