Skip to main content
The Dropdown component allows users to select one or multiple options from a dropdown menu.

Basic usage

import gradio as gr

def greet(name):
    return f"Hello {name}!"

gr.Interface(
    fn=greet,
    inputs=gr.Dropdown(["Alice", "Bob", "Charlie"]),
    outputs=gr.Textbox()
).launch()

Constructor

choices
Sequence[str | int | float | tuple] | None
default:"None"
List of options. Can be simple values or tuples of (label, value)
value
str | int | float | list | Callable | None
default:"None"
Default selected value(s). If None with single select, first choice is selected
type
Literal['value', 'index']
default:"'value'"
Return type:
  • "value" - Returns selected value(s)
  • "index" - Returns selected index/indices
multiselect
bool | None
default:"None"
If True, multiple selections allowed
allow_custom_value
bool
default:"False"
If True, users can enter custom values
max_choices
int | None
default:"None"
Maximum number of selections (multiselect only)
filterable
bool
default:"True"
Whether users can type to filter options
label
str | None
default:"None"
Label displayed above component
interactive
bool | None
default:"None"
Whether selections can be made

Events

  • change - Triggered when selection changes
  • input - Triggered on input
  • select - Triggered when option is selected
  • focus - Triggered when component gains focus
  • blur - Triggered when component loses focus
  • key_up - Triggered on key release

Examples

With labels and values

import gradio as gr

gr.Dropdown(
    choices=[
        ("Small (256x256)", "small"),
        ("Medium (512x512)", "medium"),
        ("Large (1024x1024)", "large")
    ],
    value="medium",
    label="Image size"
)

Multiselect

import gradio as gr

gr.Dropdown(
    choices=["Python", "JavaScript", "Java", "C++"],
    multiselect=True,
    value=["Python"],
    label="Select languages"
)

Custom values allowed

import gradio as gr

gr.Dropdown(
    choices=["Red", "Blue", "Green"],
    allow_custom_value=True,
    label="Choose or enter a color"
)