Skip to content
OzzyCzechPublic

About

Website Technology Icons (wticons) bundle for Astro and React

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

Website Technology Icons (wticons)

NPM Downloads NPM Version NPM Downloads NPM Version NPM License Last Commit

A collection of 200+ icons of languages, frameworks, databases, tools, browsers, operating systems and AI products, shipped as Astro and React components.

Every icon now sits on a modern, uniform shape: a 512 × 512 squircle tile (a rounded square with continuous corners, like an app icon) that carries the original brand colours and gradients. Because every icon shares the same silhouette and padding, they line up in grids and lists without any extra styling.

Install

npm i @wticons/astro
npm i @wticons/react

Usage

Astro components render an <img> through Astro's <Image>, so the SVG is served as a cacheable asset and the page stays small. React components render an inline <svg> and spread their props onto it. See the package readmes for details.

Astro

Requires Astro 5.7 or newer.

---
import { Php, AdobePhotoshop, VisualStudioCode } from '@wticons/astro';
---

<Php />
<AdobePhotoshop width={32} height={32} class="icon" />
<VisualStudioCode alt="VS Code" loading="eager" />

Components accept the same props as <Image> except src. alt defaults to the product name (PHP, Node.js, Visual Studio Code), width and height default to 512 and loading to lazy.

Importing from the package root pulls every icon into the build graph. To emit only the icons you render, import components individually, or import the SVG file itself when you need an inline <svg> you can style with CSS:

---
import Php from '@wticons/astro/Php';
import PhpInline from '@wticons/astro/icons/php.svg';
---

<Php />
<PhpInline class="icon" />

React

import { Php, AdobePhotoshop, VisualStudioCode } from '@wticons/react';

const Stack = () => (
  <ul>
    <li><Php width={24} /> PHP</li>
    <li><AdobePhotoshop width={24} /> Photoshop</li>
    <li><VisualStudioCode width={24} /> Visual Studio Code</li>
  </ul>
);

Name conflicts

Some icons share a name with the library you are using them in. Import them under an alias:

import { Astro as AstroIcon } from '@wticons/astro';
import { React as ReactIcon } from '@wticons/react';

Development

The repository is a pnpm workspace. The icons are drawn in Affinity Designer in wticons.afdesign, one named 512 × 512 artboard per icon. Raw artboard exports live in src/, their SVGO-optimized copies in icons/, and the packages in packages/ are generated from icons/.

pnpm install
pnpm build   # optimizes icons/ with SVGO, rebuilds both packages and updates the icon list below

To add or update an icon, draw it on a squircle artboard in wticons.afdesign, export the 512 × 512 SVG into both src/ and icons/, add its product name to icon-names.json (used as the default alt in Astro) and run pnpm build, which optimizes the copy in icons/ in place. The file name becomes the component name in PascalCase (visual-studio-code.svg → VisualStudioCode).

Release

Both packages are versioned together and published by GitHub Actions on a v*.*.* tag:

make release VERSION=3.1.0

This bumps both packages, commits, tags v3.1.0 and pushes. The workflow then builds, runs astro check, publishes @wticons/astro and @wticons/react to npm with provenance and creates a GitHub Release.

Credits

  • SVGPorn - a huge collection of SVG logos by @gilbarbara
  • devicon - a set of icons representing programming languages, designing, and development tools.
  • SVGO - Node.js tool for optimizing SVG files
  • TechIcons - set of technology icons
  • Affinity Designer - the vector editor the icons are drawn in

Icons

adobe-illustrator.svg adobe-lightroom.svg adobe-photoshop.svg adobe-premiere.svg affinity-designer.svg affinity-studio.svg android.svg angular.svg anthropic.svg apache.svg apple.svg arc.svg astro.svg ava.svg aws.svg azure.svg babel.svg backbone-js.svg bash.svg behance.svg biomejs.svg bitbucket.svg bootstrap.svg bower.svg brave.svg bun.svg cakephp.svg capistrano.svg chatgpt.svg chrome.svg circleci.svg claude-code.svg claude.svg codeigniter.svg codex.svg composer.svg couch-db.svg css.svg cucumber.svg cursor.svg cypress.svg d3js.svg dart.svg debian.svg deno.svg django.svg docker.svg doctrine.svg dotnet.svg drupal.svg dynamodb.svg edge.svg electron.svg eleventy.svg elixir.svg elm.svg ember.svg eslint.svg express.svg fauna.svg fedora.svg firebase.svg firefox.svg flutter.svg freebsd.svg gemini.svg gimp.svg git.svg github-alt.svg github-copilot.svg github.svg gitlab.svg gitter.svg gnu-make.svg go.svg google-cloud.svg gradle.svg grafana.svg grunt.svg gulp.svg haml.svg handlebars.svg haskell.svg heroku.svg html.svg htmx.svg httpie.svg hugging-face.svg hugo.svg ie10.svg influxdb.svg inkscape.svg j-query.svg jasmine.svg java.svg jenkins.svg jest.svg js.svg jsdom.svg json-schema.svg kirby.svg kotlin.svg kubernetes.svg laravel.svg latex.svg less.svg linux.svg lua.svg magento.svg mariadb.svg markdown.svg material-ui.svg matter.svg mdx.svg meta.svg meteor.svg midjourney.svg mint.svg mistral.svg mocha.svg molecular.svg mongodb.svg my-sql.svg nette.svg next-js.svg nginx.svg node-webkit.svg nodejs.svg npm.svg nuxt.svg openai.svg openapi.svg opencollective.svg opensuse.svg opera.svg parcel.svg perl.svg phalcon.svg phoenix.svg php-storm.svg php-unit.svg php.svg pm2.svg postcss.svg postgres.svg preact.svg prettier.svg prisma.svg prometheus.svg protractor.svg pug.svg puppeteer.svg python.svg rails.svg raspberry-pi.svg react.svg redhat.svg redis.svg redux.svg remix.svg rollup.svg rollupjs.svg ruby.svg rust.svg safari.svg sass.svg scala.svg selenium.svg sidekiq.svg slidev.svg snowpack.svg sqlite.svg stability-ai.svg stylus.svg svelte.svg swift.svg symfony.svg tailwind.svg tomcat.svg type-script.svg ubuntu.svg unity.svg unix.svg unocss.svg unreal-engine.svg vagrant.svg vim.svg visual-studio-code.svg vite.svg vitest.svg vivaldi.svg vue-use.svg vue.svg webassembly.svg webkit.svg webpack.svg webstorm.svg windows.svg woo-commerce.svg wordpress.svg xcode.svg yarn.svg yii.svg zend-framework.svg

License

MIT

About

Website Technology Icons (wticons) bundle for Astro and React

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages