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.
Google Weather Icons
March 13, 2026: The repo has been refactored with a new structure. The old
v1–v4folders have been replaced withsets/set-1throughsets/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 comprehensiveicons.jsonmapping 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.
Recommended Set
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 namealiases— Alternative condition names used across different Google products (useful for mapping API responses)has_day_night— Whether the condition has separate day and night iconsregion— If the icon is region-specific (e.g."japan")sets— Which sets contain this icon, with filenames for each variant (day,night, ordefault)
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.
sunnyvsclear_day,strong_tstormsvsstrong_thunderstorms), filenames vary between sets. Always useicons.jsonrather 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.