Darren Griffin fb1e33de55 Refactor repo structure and add new icon sets
Restructured the repository from v1-v4 folders to a set-based organization
(set-1 through set-6) grouped by visual style rather than arbitrary version
numbers. Added new icon sets, dark theme variants, Lottie animations, and
a comprehensive icons.json mapping file.
2026-03-13 12:24:56 +00:00

Google Weather Icons

March 13, 2026: The repo has been refactored with a new structure. The old v1v4 folders have been replaced with sets/set-1 through sets/set-6, organized by visual style rather than arbitrary version numbers. We've also added the new accessibility icon sets (outlined and outlined+gradient styles), dark theme variants, Lottie background animations from the Pixel Weather app, and a comprehensive icons.json mapping file. See the Structure section below for details.

A comprehensive collection of official weather icons used by Google across their products.

Disclaimer: I do not own these icons. All rights belong to Google.

Structure

Icons are organized into sets — each representing a distinct visual style. Sets with theme support have light/ and dark/ subdirectories. An icons.json file at the root maps every weather condition to its icon files across all sets.

sets/
├── set-1/              # Google Search (Original) — PNGs
├── set-2/              # Google Search (Updated) — PNGs
├── set-3/              # Google Maps Weather — 32x32 SVGs
│   ├── light/
│   └── dark/
├── set-4/              # Google Weather (Filled) — 48x48 SVGs
│   ├── light/
│   └── dark/
├── set-5/              # Google Weather (Outlined) — 48x48 SVGs
│   ├── light/
│   └── dark/
├── set-6/              # Google Weather (Outlined + Gradient) — 48x48 SVGs
│   ├── light/
│   └── dark/
└── lottie/             # Animated weather backgrounds — Lottie JSON
    ├── phone_portrait/
    ├── phone_portrait_night/
    ├── phone_landscape/
    ├── phone_landscape_night/
    ├── tablet_portrait/
    ├── tablet_portrait_night/
    ├── tablet_landscape/
    └── tablet_landscape_night/

Sets

set-1 — Google Search (Original)

The original weather icons from Google Search. PNG format, day variants only.

Misc

Weather

set-2 — Google Search (Updated)

Updated icons from Google Search with more weather conditions and day/night variants. PNG format.

Day

Night

General

set-3 — Google Maps Weather

32x32 flat colored SVGs from the Google Maps Weather API. Light and dark theme variants.

Light

Night Alternatives

Custom moon variants with a more realistic gradient (replaces Google's yellow moon).

Misc

Dark

set-4 — Google Weather (Filled)

48x48 gradient-filled SVGs with rich colors. Includes Japanese regional weather icons contributed by @NikSavchenk0.

Day

Night

General

Japanese Regional

Thanks to @NikSavchenk0.

set-5 — Google Weather (Outlined)

48x48 outlined/stroked SVGs with minimal fills. A cleaner, more modern style.

set-6 — Google Weather (Outlined + Gradient)

48x48 outlined SVGs with gradient fills. The newest icon style.

Lottie — Weather Background Animations

Lottie JSON animations extracted from the Pixel Weather app (com.google.android.apps.weather). These are the animated backgrounds shown behind weather conditions.

Available in 8 variants: phone/tablet, portrait/landscape, day/night.

set-4 has the best coverage (72% of all conditions) and is the only set with Japanese regional icons. If you need a single set to cover most use cases, start there.

icons.json

The icons.json file maps weather conditions to their corresponding icon files across all sets. Each condition includes:

  • label — Human-readable name
  • aliases — Alternative condition names used across different Google products (useful for mapping API responses)
  • has_day_night — Whether the condition has separate day and night icons
  • region — If the icon is region-specific (e.g. "japan")
  • sets — Which sets contain this icon, with filenames for each variant (day, night, or default)

Each set definition includes a path_template so you can construct full file paths:

const icons = require('./icons.json');

// Get the clear/sunny icon from set-4
const condition = icons.conditions.clear;
const set = icons.sets['set-4'];
const file = condition.sets['set-4'].day; // 'clear_day.svg'
const path = set.path_template
  .replace('{theme}', 'light')
  .replace('{filename}', file);
// 'sets/set-4/light/clear_day.svg'

// Find all sets that have a tornado icon
const tornado = icons.conditions.tornado;
Object.keys(tornado.sets); // ['set-2', 'set-3', 'set-4', 'set-5', 'set-6']

// Look up a condition by alias
const byAlias = Object.entries(icons.conditions)
  .find(([_, c]) => c.aliases?.includes('sunny'));
// ['clear', { label: 'Clear Sky', ... }]

Note: Because different Google products use different naming conventions (e.g. sunny vs clear_day, strong_tstorms vs strong_thunderstorms), filenames vary between sets. Always use icons.json rather than assuming filenames.

Sources

Set Source Format
set-1 Google Search PNG
set-2 Google Search PNG
set-3 Google Maps Weather API (maps.gstatic.com/weather/v1/) SVG 32x32
set-4 Google Weather (www.gstatic.com/weather/conditions/v1/svg/) SVG 48x48
set-5 Google Weather (www.gstatic.com/weather/conditions/v2/svg/) SVG 48x48
set-6 Google Weather (www.gstatic.com/weather/conditions/v3/svg/) SVG 48x48
lottie Google Weather APK Lottie JSON

License

All icons are the property of Google. This repository is for reference and educational purposes.

Star History Chart
Description
Languages
SVG 100%