Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
flag-icon-css
Advanced tools
> A curated collection of all country flags in SVG — plus the CSS for easier integration. See the [demo](https://flagicons.lipis.dev).
The flag-icon-css npm package provides a collection of flag icons using CSS for easy integration into web projects. It allows developers to display country flags by simply adding appropriate CSS classes to HTML elements.
Display a country flag
This feature allows you to display a country flag by adding the `flag-icon` class along with the specific country code class (e.g., `flag-icon-us` for the United States) to an HTML element.
<span class="flag-icon flag-icon-us"></span>
Change flag size
You can change the size of the flag by adding size-specific classes such as `flag-icon-lg` for large flags. This allows for flexible design adjustments.
<span class="flag-icon flag-icon-us flag-icon-lg"></span>
Square flag icons
This feature allows you to display square versions of the flags by adding the `flag-icon-squared` class. This is useful for design consistency in certain layouts.
<span class="flag-icon flag-icon-us flag-icon-squared"></span>
The `country-flag-icons` package provides SVG icons for country flags. It offers a similar functionality to `flag-icon-css` but uses SVGs instead of CSS, which can provide better scalability and quality for high-resolution displays.
The `react-world-flags` package is a React component library for displaying country flags. It is specifically designed for React applications and offers a more component-based approach compared to the CSS class-based approach of `flag-icon-css`.
The `flagpack` package offers a collection of flag icons in SVG format. It provides a comprehensive set of flags with a focus on high-quality and customizable SVGs, making it a good alternative for projects that require scalable vector graphics.
A curated collection of all country flags in SVG — plus the CSS for easier integration. See the demo.
You can either download the whole project as is or install it via npm or Yarn:
npm install --dev flag-icon-css
# or
yarn add --dev flag-icon-css
For using the flags inline with text add the classes .flag-icon
and .flag-icon-xx
(where xx
is the ISO 3166-1-alpha-2 code of a country) to an empty <span>
. If you want to have a squared version flag then add the class flag-icon-squared
as well. Example:
<span class="flag-icon flag-icon-gr"></span>
<span class="flag-icon flag-icon-gr flag-icon-squared"></span>
You could also apply this to any element, but in that case you'll have to use the flag-icon-background
instead of flag-icon
and you're set. This will add the correct background with the following CSS properties:
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
Which means that the flag is just going to appear in the middle of an element, so you will have to set manually the correct size of 4 by 3 ratio or if it's squared add also the flag-icon-squared
class.
Run the yarn
to install the dependencies after cloning the project and you'll be able to:
To build *.less
files
$ yarn build
To serve it on localhost:8000
$ yarn start
To have only specific countries in the css file, remove the ones that you don't need from the flag-icons-list.less
file and build it again.
This project wouldn't exist without the awesome and now deleted collection of SVG flags by koppi.
FAQs
> A curated collection of all country flags in SVG — plus the CSS for easier integration. See the [demo](https://flagicons.lipis.dev).
We found that flag-icon-css demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.