Four shapes
Pennant by default, plus 4:3 rectangle, square and circle. Same codes, same API; pick the shape with one option.
271 country flags as pennants (the signature style), rectangles, squares and circles. SVG, PNG, CSS, sprite, tree-shakable JS, React and a Web Component; you only ship the flags you show.
npm install pennantsimport 'pennants/css';<span class="pn pn-ar" role="img" aria-label="Argentina"></span>import 'pennants/css';
<span class="pn pn-ar" role="img" aria-label="Argentina"></span>One stylesheet per shape, combinable on one page, no JavaScript; each image loads only when its class is used. With Vite, use the cdn variant or set assetsInlineLimit (see FAQ).
Not sure? Read Which format should I use? or see every flag in the gallery.