An app names the idea, each client draws it
A house is house in Bootstrap Icons, house in SF Symbols and
home in Material Symbols. Say the concept once and hand each client the key
it needs.
Unicon.fetch :house
=> { bootstrap: 'house', ios: 'house', android: 'home' }
Unicon[:contact]
=> { bootstrap: 'person-rolodex', ios: 'person.crop.circle', android: 'contacts' }
Unicon[] and Unicon.fetch are the same method. Every concept
carries exactly three keys, and a concept is only listed when all three design systems
have a sensible icon for it.
- 132distinct icons
- 140model names that borrow one
- 43actions a toolbar draws
- 315names a lookup answers to
Anything unknown draws a circle
Unicon.fetch :nonsense
=> { bootstrap: 'circle', ios: 'circle', android: 'circle' }
No nil, no blank cell, no check before rendering. A table that draws an icon
for every row gets an icon for every row, and a string works as well as a symbol, so
Unicon[model.name.underscore] is a whole integration.
Three lists, and which one you want
Unicon.icons
=> [:account, :airplane, :alarm, :archive, :award, :badge, ...]
Unicon.names
=> [:account, :add, :add_member, :address, :agent, ...]
Unicon.actions
=> [:add, :add_member, :close, :confirm, ...]
Unicon.icons- One name per distinct picture — 132 of them. No two entries draw the same thing, which is what makes this the list to show somebody choosing an icon.
Unicon.names- The union of all three groups — the icons, the actions and the model synonyms — and
so every name that resolves. Ask for it to find out whether a name draws something;
ask for
iconswhen somebody is choosing one. Unicon.actions- The doing words:
close,edit, everymove. A toolbar needs them andUnicon[:close]answers, but nobody has a Close model, so they are never offered as a choice.
All of them
Every icon the gem holds, all three systems drawn side by side — the same set the README tables. Hover an icon for the name that system calls it by; the small print under a card is the model names that borrow it, and typing one of those finds the card. A dashed circle is a symbol the Mac that drew this page could not put an outline to: newer than the SF Symbols 5 set it knows, or one it draws but the tracer would name no glyph for. It resolves in an app all the same.
Showing every concept.
- :account author · avatar · profile
- :airplane
- :alarm deadline
- :archive
- :award specialty
- :badge agent · employee · role
- :bag
- :bank
- :bar_chart vertical
- :barcode
- :battery
- :bell notification · reminder
- :bicycle
- :bolt boost
- :book
- :bookmark
- :bookmarked
- :box inventory · item · package · product
- :brand
- :briefcase provider
- :brush
- :building business · city · company · office · organization
- :bus
- :calendar event · plan · schedule
- :calendar_check appointment · booking
- :camera
- :car ride · vehicle
- :cart order · purchase
- :cash cost
- :chat comment · conversation · message
- :check_circle
- :checklist pick
- :circle
- :clipboard assessment · survey
- :clock history · session · shift
- :close_circle
- :cloud backup
- :compass
- :contact
- :credit_card charge · payment · transaction
- :display screen
- :document file · form · page · post · summary
- :droplet
- :envelope email
- :eye view
- :filter
- :fingerprint
- :fire
- :flag milestone
- :folder project
- :franchise
- :gear configuration · setting
- :gift coupon · offer
- :globe country · site
- :grid
- :hammer job
- :headphones
- :heart
- :hospital
- :hourglass
- :house home
- :image banner · photo · picture
- :inbox
- :infinity
- :info
- :invoice bill
- :key credential · permission · token
- :keyboard
- :laptop
- :lightbulb
- :link
- :list log
- :lock password
- :map area · county · region · state · territory · trip
- :megaphone announcement · campaign
- :microphone recording
- :mobile
- :moon
- :music track
- :note memo
- :palette
- :paperclip attachment
- :people group · staff · team
- :percent discount
- :person client · customer · lead · member · user
- :phone call
- :pie_chart sector
- :pin address · destination · location · zip
- :playlist episode
- :puzzle integration · platform · plugin
- :qr_code
- :question answer
- :rain
- :receipt
- :reply
- :ruler
- :search
- :server
- :shield
- :shop market · vendor
- :signature contract
- :signpost route · source
- :sliders optimization · preference
- :smiley feedback
- :snow
- :speedometer dashboard · evaluation
- :square
- :star rating · review
- :stopwatch
- :sun
- :table
- :tag category · label · price
- :task todo
- :terminal api · prompt
- :thumbs_down
- :thumbs_up
- :ticket
- :toolbox
- :train
- :tree
- :trending_up
- :trophy goal
- :truck delivery · fleet · shipment · supplier
- :video movie
- :volume
- :wallet
- :wand inquiry · prediction · reading
- :warning alert · issue
- :waveform audio · echo
- :wifi
- :window app
- :wrench
No concept here goes by that name. Try a shorter word, or clear the field to see them all.
Install
gem 'unicon'
Ruby 3.2 or newer, and no dependencies at all — the gem is a frozen hash and two readers.