Files
google-weather-icons/README.md
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

26 KiB
Raw Blame History

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