Category guides

Rails admin panels: ActiveAdmin, Avo, Administrate and others

Category guides · · Published 2026-10-24

A compact audio mixing desk with rows of knobs and faders on a wooden shelf
A small mixing desk: every setting within reach.

Every application eventually needs a back office: a place where staff can find a customer, fix a record or refund an order. Admin frameworks generate most of it for you, at the price of living inside their conventions.

Release figures are from RubyGems.org, October 2026.

What to compare

ActiveAdmin

ActiveAdmin (3.5.2, July 2026) is the long-standing reference. You register resources with a DSL:

ActiveAdmin.register Order do
  permit_params :status, :notes
  filter :status
  filter :created_at

  index do
    selectable_column
    column :id
    column :customer
    column :status
    actions
  end
end

Its runtime dependencies show its heritage: Arbre for views, Formtastic for forms, Inherited Resources for controllers, Ransack for filters, Kaminari for pagination and jquery-rails. That stack works, but each piece is another dependency to keep compatible with new Rails versions. A 4.0 line, with a substantially reworked front end, has been in beta for a long time (4.0.0.beta23 in September 2026); check its status before starting a new project.

ActiveAdmin has authorization adapters for CanCanCan and Pundit, batch actions, CSV export and comments.

Choose it when you want a mature, widely documented admin and are comfortable with its DSL.

Avo

Avo (4.3.5, October 2026) configures the admin through Ruby resource classes that declare fields, filters and actions. It has a modern interface built with Hotwire, dashboards, custom tools and a large field library. The gem is published under LGPL-3.0 with commercial licences; several features are reserved for paid tiers, so check the current pricing page against your requirements before committing. Releases are frequent.

Choose it when you want a polished admin with little front-end work and are willing to pay for advanced features.

Administrate

Administrate, from thoughtbot, reached 1.0.0 in October 2025 after many years in the 0.x series. It generates a dashboard class per model and uses ordinary Rails controllers and views, which you customise by overriding them as you would in your own application. Its philosophy is that admin code should look like the rest of your code, without a DSL to learn.

Choose it when you prefer plain Rails conventions and expect to customise heavily.

RailsAdmin and Madmin

RailsAdmin (3.3.1, October 2026) builds an interface automatically from your models with almost no configuration, which makes it quick for internal tools. Madmin (3.3.0, October 2026) takes an approach similar to Administrate, generating resources you can edit, with a lighter footprint.

Building your own

An admin is, in the end, a set of authenticated CRUD screens. With Rails scaffolding, a namespaced Admin:: set of controllers and a shared layout, a small team can build exactly the screens it needs, and nothing else. This works best when the back office is small or highly specific to the business, such as refund workflows or moderation queues, which frameworks handle awkwardly anyway. A common pattern is to use a framework for generic record editing and hand-written screens for the critical workflows.

Old admin plugins

Rails 2 and early Rails 3 applications often used ActiveScaffold, which generated AJAX CRUD interfaces, or smaller tools such as admin_data for browsing records. ActiveScaffold still exists as a gem, but applications being modernised usually move to one of the frameworks above, or to plain controllers.

Security reminders

Summary

FrameworkConfigurationLicenceNotes
ActiveAdminDSLMITMature; heavier dependency stack
AvoResource classesLGPL-3.0 / commercialPolished UI, paid tiers
AdministrateDashboards plus plain controllersMIT1.0 since October 2025
RailsAdminMostly automaticMITFast to set up
MadminGenerated resourcesMITLightweight