🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

platformicons

Package Overview
Dependencies
Maintainers
4
Versions
122
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

platformicons

Web Platform and Framework Logo Set

latest
Source
npmnpm
Version
9.4.0
Version published
Weekly downloads
9.3K
-16.85%
Maintainers
4
Weekly downloads
 
Created
Source

Platformicons

A set of platform and framework icons from the people behind https://sentry.io.

Installation

# yarn
yarn add platformicons

# npm
npm install platformicons

React is a peer dependency, so make sure it’s installed in your project.

The package ships both CommonJS and ESM builds:

  • "main"build/index.js (CommonJS — works with webpack, Gatsby, etc.)
  • "module"esmbuild/index.js (ESM — works with Vite, Astro, etc.)

Most bundlers pick the right entry automatically. Static SVG imports ensure both module systems resolve icons correctly.

Usage

import { PlatformIcon } from ‘platformicons’;

function App() {
  return <PlatformIcon platform="javascript-react" size={32} />;
}

Props

PropTypeDefaultDescription
platformstringPlatform identifier (e.g. "python-django", "javascript-react")
sizestring | number20Icon width and height in pixels
format"sm" | "lg""sm""sm" uses compact icons from /svg, "lg" uses detailed icons from /svg_80x80
radiusnumber | null3Border radius in pixels
withLanguageIconbooleanfalseShow a small language badge in the bottom-right corner (e.g. the Python logo on a Django icon)
languageIconStylesReact.CSSProperties{}Custom styles for the language badge

Platform Names

Platforms use a language-framework naming convention:

python-django
javascript-react
ruby-rails
go-echo

Both dashes and dots are accepted (python-django and python.django are equivalent). If an exact match isn’t found, the library falls back to the language icon (the part before the first dash), then to a generic default icon.

node-* is an alias for javascript-* for backwards compatibility.

You can get the full list of supported platform keys at runtime:

import { platforms } from ‘platformicons’;
// platforms is a string[] of all valid platform keys

Preloading

To avoid render jank when icons appear on a new page, you can preload them:

import { preloadIcons } from ‘platformicons’;

// Preload all icons (both sizes)
preloadIcons();

// Preload only small or large icons
preloadIcons(‘sm’);
preloadIcons(‘lg’);

This inserts <link rel="preload"> tags into the document head.

Using SVGs Directly

If you aren’t using React, the raw SVG files are included in the package:

  • platformicons/svg/ — small icons (solid backgrounds, optimized for small sizes)
  • platformicons/svg_80x80/ — large icons (transparent backgrounds, 80x80px)

Publishing Changes

Platformicons uses GitHub Actions to publish changes. You don’t need to update the version in package.json since that’s done automatically.

  • Make a change but don’t update the version in package.json
  • Merge with Master
  • Head to the Release workflow and then run the workflow
  • This will create an issue in getsentry/publish
  • Add the accepted label to publish

Contributing

See CONTRIBUTING.md for development setup and how to add new icons.

Keywords

web

FAQs

Package last updated on 27 Apr 2026

Did you know?

Socket

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.

Install

Related posts