Drag-and-drop layouts
Pages with a sidebar, cards, tabsets and value boxes, built from modern bslib components. Preview Bootswatch themes at desktop, tablet and phone widths.
app.R code
DropToApp is a Shiny UI designer for data scientists and R users. Lay out sidebars, cards, grids and tabs,
add inputs and outputs, and watch the Shiny and bslib code write itself, ready to run with
shiny::runApp().
Free to use. Your projects are saved in your account.
Building a Shiny UI by hand means nesting function calls and remembering argument names. DropToApp lets you see the layout while you build it, and still gives you code you'd be happy to write yourself.
Pages with a sidebar, cards, tabsets and value boxes, built from modern bslib components. Preview Bootswatch themes at desktop, tablet and phone widths.
Add a column or row one cell at a time, split cells, and nest grids inside grids. Column widths stay balanced automatically.
Type in app.R and the canvas updates as you go. Change the design and the code is regenerated. Errors show the line and column.
Sliders, selects, buttons, plots, tables and more, each with its server code: renderPlot(), renderTable() and observeEvent() blocks are written for you.
Import an app.R and keep working visually. Code DropToApp has no editor for, such as DT tables or helper functions, is kept exactly as written.
Click Run and your Shiny app starts for real, with working inputs, outputs and server code, powered by webR and shinylive. No R installation needed.
No setup and nothing to install: DropToApp runs in your browser.
Start from an example or a blank page, then drop layouts, inputs and outputs where you want them.
Set IDs, labels, choices and widths in the properties panel, or edit the R code directly. Both stay in sync.
Click Run to try the real app in your browser. Then download app.R and run it with shiny::runApp(), locally or on Shiny Server, Posit Connect or shinyapps.io.
DropToApp writes the same functions you'd use by hand, so the code is easy to read, extend and maintain.
page_sidebar(), page_navbar(), page_fillable(), page_fluid()sidebar() and card() with headerslayout_columns() grids of rows and columnsnavset_card_tab() with nav_panel() tabs, and accordion()value_box() for key numbers, conditionalPanel()sliderInput(), numericInput()textInput(), textAreaInput()selectInput(), radioButtons()checkboxInput(), checkboxGroupInput()dateInput(), actionButton(), fileInput()plotOutput() and interactive plotly::plotlyOutput()tableOutput() and searchable DT::DTOutput() tablestextOutput(), verbatimTextOutput(), downloadButton()tooltip()leaflet::leafletOutput()Complete Shiny apps to copy, run in your browser or open in the editor: a KPI dashboard, a data explorer, a form, a multi-page app and more.
A Shiny dashboard with KPI value boxes, sidebar filters, a chart and a top-5 table, built with bslib on R’s airquality data. Free app.R to copy, edit and run.
Pick a dataset and two columns to get a scatter plot, a searchable DT table and a summary, with axis choices that update per dataset. Free R Shiny template.
A feedback form in R Shiny: text, choice and rating inputs, a conditional field, validation, a live table of responses and a CSV download. Free app.R.
Whether you ship dashboards every week or are building your first Shiny app.
Prototype a dashboard layout in minutes, then spend your time on the analysis instead of on nested UI code.
Turn an R analysis into an interactive app your colleagues can use, without becoming a web developer first.
See how every part of the interface maps to Shiny code. It's a hands-on way to learn how Shiny apps are built.
DropToApp is a visual editor for R Shiny user interfaces. You drag layouts, inputs and outputs onto a canvas, adjust them in a properties panel, and DropToApp writes a complete, readable app.R file using Shiny and bslib as you work.
Not to design the interface: layouts, inputs and outputs are all point-and-click. To connect your own data and logic you write R in each output's server code field, and seeing the generated code next to the design is also a practical way to learn how Shiny apps are put together.
No. The export is plain Shiny and bslib code with no DropToApp package or runtime. Install the packages with install.packages(c("shiny", "bslib")), plus DT or plotly if you use those components, and run the app with shiny::runApp(), locally, on Shiny Server, Posit Connect or shinyapps.io.
Yes. Open an app.R whose UI uses page_sidebar(), page_fillable() or page_fluid() and DropToApp rebuilds the design from it. Anything it has no visual editor for is kept as an R code block, and code outside the UI (data loading, reactives, helper functions) is preserved as written.
Yes. The Run button starts your app for real, in your browser, using webR (R compiled to WebAssembly) and shinylive, so inputs, outputs and server code all work. The first start downloads R and the packages your app uses, which can take a minute. Packages need to be available for webR; most of CRAN is. To publish the app, export app.R and deploy it as usual.
Yes. The code view is a full editor: type in app.R and the canvas updates as you go, or change the design and the code is regenerated. Syntax errors are pointed out with the line and column, and the design waits until the code is valid again.
Page layouts with a sidebar or a navigation bar, cards, grids of columns and rows, tabsets, accordions, value boxes and conditional panels; sliders, numeric and text inputs, text areas, select inputs, radio buttons, checkboxes, date inputs, file uploads and action buttons; plots, interactive plotly charts, tables, DT data tables, text and console outputs and download buttons; headings, paragraphs and tooltips, plus R code blocks for anything else.
In your account. Every design is saved as a project automatically while you work, so it is there on any computer you log in on, and a copy is kept in your browser in case the connection drops. You can also download a design file or export app.R at any time. When you click Run, the code is handed to shinylive in the part of the link after #, which browsers don't send to servers.
Yes, creating an account and using the editor is free.
Create a free account and have your first layout on screen in a minute.
Create a free account