Obra Icons

Obra Icons for Flutter

1,047 consistent, beautifully crafted UI icons — usable with the native Icon() widget.

Obra Icons packaged as a Flutter icon font.

pub version pub points platform license: MIT

Obra Icons is a set of open-source, neutral-style system symbols for designers and developers. Every icon is crafted on a consistent grid so the whole set shares the same readability, weight, and pixel precision. This package ships them as a single TTF font plus type-safe IconData constants — so you use them exactly like Flutter's built-in Icons, with full support for size, color, and theming.

icon demo

All icons are free for both personal and commercial use. Browse the full set →

Features

  • 1,047 icons spanning UI, files, finance, media, devices, weather, food and more.
  • Native Icon() widget — works with size, color, IconButton, IconTheme, etc.
  • Type-safe constants — autocompletion via ObraIcons.academic_cap.
  • Dynamic lookup — resolve any icon by its original name with ObraIcons.byName.
  • Full catalog — iterate ObraIcons.all to build pickers and galleries.
  • Single font asset — no platform channels, no native dependencies.
  • MIT licensed.

Installation

Add the dependency in your pubspec.yaml:

dependencies:
  obra_icons: ^1.0.0

Then fetch it:

flutter pub get

Import it where you need it:

import 'package:obra_icons/obra_icons.dart';

Usage

Basic

import 'package:flutter/material.dart';
import 'package:obra_icons/obra_icons.dart';

Icon(ObraIcons.academic_cap, size: 24, color: Colors.blue);

In a button

IconButton(
  icon: const Icon(ObraIcons.add),
  onPressed: () => print('tapped'),
);

Look up an icon by its original name

Names use the original kebab-case keys from icons.obra.studio:

final IconData? icon = ObraIcons.byName['academic-cap'];
for (final IconData iconData in ObraIcons.all) {
  // build a grid tile, etc.
}

API

Member Type Description
ObraIcons.<name> IconData A const icon, e.g. ObraIcons.academic_cap.
ObraIcons.byName Map<String, IconData> Lookup by original kebab-case name, e.g. 'academic-cap'.
ObraIcons.all List<IconData> Every icon, for building pickers and galleries.
ObraIcons.fontFamily String The font family name ('ObraIcons').
ObraIcons.fontPackage String The owning package ('obra_icons').

Note: A few upstream names are Dart reserved words and are prefixed with icon_ in the constant API (e.g. exportObraIcons.icon_export, function, switch). Their original names remain unchanged in ObraIcons.byName.

Example

A searchable, tap-to-copy gallery of the full icon set lives in example/:

cd example
flutter run

Regenerating the font

The font and Dart bindings are generated from the upstream Obra Icons SVGs. See tool/README.md for the pipeline (download → expand strokes → build TTF → emit Dart).

License

Released under the MIT License. Icon artwork © Obra Studio.

Libraries

obra_icons