Project

rubicons

0.01
The project is in a healthy, maintained state
Rubicons is a pure Ruby icon toolkit inspired by react-icons, offering a simple and consistent way to include SVG-based icons in your Ruby applications without external dependencies.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme

Rubicons

Rubicons is a lightweight, pure Ruby SVG icon toolkit inspired by React Icons. It provides a simple and consistent way to include beautiful SVG icons in your Ruby and Rails applications without external dependencies.

Gem Version

Features

  • Pure Ruby implementation - no JavaScript dependencies
  • SVG-based icons - scalable without quality loss
  • Multiple icon libraries - access thousands of icons from popular icon sets
  • Rails integration - seamlessly works with Rails via helper methods
  • Customizable - easily change size, color, and add CSS classes

Installation

Add this line to your application's Gemfile:

gem 'rubicons'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install rubicons

Icon Collections

Rubicons provides access to 23 popular icon libraries with thousands of icons:

Icon Library Version License Count Example Icons
Bootstrap v1.11.3 MIT 2,050 alarm, heart, calendar, circle, house
Box Icons Latest MIT/CC 4.0 1,634 bx-home, bx-search, bx-menu, bx-user, bxl-github
Circum Icons Latest MPL-2.0 288 alarm-on, align-center-h, arrow, check, user
Devicon v2.16.0 MIT 1520 aarch64-line.svg, aarch64-original.svg, aarch64-plain.svg, adonisjs-original-wordmark.svg, adonisjs-original.svg
Feather v4.29.1 MIT 287 activity, alert-circle, airplay, message-square, star
Font Awesome 5 v5.15.4 Multiple 1,612 brands-github, solid-user, regular-heart, solid-home, solid-star
Font Awesome 6 v6.5.2 Multiple 2,045 brands-github, solid-user, solid-house, solid-flag, solid-shield
Heroicons v1 v1.0.6 MIT 460 outline-academic-cap, outline-archive, solid-home, outline-menu, solid-user
Heroicons v2 v2.1.3 MIT 1,176 16-solid-academic-cap, 24-outline-home, 24-solid-user, 20-solid-calendar, 16-outline-bell
Ionicons 4 v4.6.4-1 MIT 696 ios-add, ios-alarm, ios-home, md-mail, md-menu
Ionicons 5 v5.5.4 MIT 1,332 accessibility, add-circle, home, mail, menu
Line Awesome Latest MIT/Good Boy 1,544 500px, accessible-icon, github, user-solid, heart
Lucide Latest ISC 1,565 heart, activity, book, check, user
Material Design v4.0.0 Apache 2.0 6862 action-3d-rotation, action-accessibility, action-account-circle, content-home, action-settings
Octicons v18.3.0 MIT 576 accessibility-16, alert-16, check-16, code-16, mark-github-16
Phosphor Icons Latest MIT 9,072 acorn-bold, user-bold, heart-fill, house-line, calendar
Radix UI Latest MIT 318 accessibility, activity-log, align-bottom, align-center-horizontally, bookmark
Remix Icon v4.2.0 Apache 2.0 2,860 arrow-down-circle-fill, home-line, user-fill, search-line, check-line
Tabler Icons v3.31.0 MIT 5,880 filled-accessible, filled-home, filled-user, filled-search, brand-github
Themify v1.0.1 SIL OFL/MIT 352 angle-down, agenda, alarm-clock, alert, align-center
Typicons v2.1.2 SIL OFL 336 anchor, adjust-brightness, adjust-contrast, archive, heart
Weather Icons v2.0.12 SIL OFL 1.1 219 wi-alien, wi-barometer, wi-celsius, wi-cloud-refresh, wi-cloud-down

Usage

Standalone Usage

You can use Rubicons in any Ruby application without Rails. First, require the gem:

require 'rubicons'

Then use any of the icon libraries:

Using Lucide Icons

# Get an icon with default options (medium size)
svg = Rubicons::Lucide.icon('heart')

# With custom size
svg = Rubicons::Lucide.icon('heart', size: :lg)

# With custom class
svg = Rubicons::Lucide.icon('heart', class: 'text-red-500')

# List all available icons
icon_names = Rubicons::Lucide.available_icons

Using Bootstrap Icons

# Get an icon with default options
svg = Rubicons::Bootstrap.icon('heart-fill')

# With custom size
svg = Rubicons::Bootstrap.icon('heart-fill', size: :xl)

# With custom class
svg = Rubicons::Bootstrap.icon('heart-fill', class: 'text-danger')

Using Font Awesome Icons

# Font Awesome 5
svg = Rubicons::FontAwesome5.icon('solid-paper-plane')

# Font Awesome 6
svg = Rubicons::FontAwesome6.icon('solid-user-nurse')

Using Heroicons

# Heroicons v1
svg = Rubicons::Heroicons.icon('outline-folder-remove')

# Heroicons v2
svg = Rubicons::Heroicons2.icon('16-solid-tv')

Rails Integration

In a Rails application, Rubicons automatically integrates with ActionView to provide helper methods for each icon library:

<%# Lucide Icons %>
<%= lucide_icon 'heart', class: 'text-red-500', size: :lg %>

<%# Radix Icons %>
<%= radix_icon 'heart', class: 'icon-primary' %>

<%# Bootstrap Icons %>
<%= bootstrap_icon 'heart-fill', class: 'text-danger' %>

<%# Box Icons %>
<%= box_icon 'bx-home' %>

<%# Font Awesome 5 %>
<%= fa5_icon 'solid-paper-plane', size: :xl %>

<%# Font Awesome 6 %>
<%= fa6_icon 'solid-user-nurse' %>

<%# Heroicons v1 %>
<%= heroicon 'outline-folder-remove' %>

<%# Heroicons v2 %>
<%= heroicon2 '16-solid-tv' %>

<%# Circum Icons %>
<%= circum_icon 'arrow' %>

<%# Feather Icons %>
<%= feather_icon 'activity' %>

<%# Ionicons 4 %>
<%= ion4_icon 'home' %>

Available Sizes

All icons support the following size options:

Size Dimensions
:xs 12×12
:sm 16×16
:md 20×20 (default)
:lg 24×24
:xl 32×32
:2xl 40×40

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/insomnius/rubicons.

Code of Conduct

Code of conduct is based on the Contributor Covenant, version 2.0. Please read it to understand our expectations for participants.

License

The gem is available as open source under the terms of the MIT License.