The Christmas icon set
Ready today: Christmas ornament, snowman, gingerbread man, Christmas tree, snowflake, candy cane and 3 more (free) and stocking, mitten, gift, trees, cookie, cloud snow and 41 more (Pro).
Each one is stroke-only on a 48 × 48 grid with a chunky 3.4 stroke and round ends, the same hand as the rest of the library. So a holiday doodle in your sale banner matches the cart and checkout icons right next to it.
Where Christmas icons work
Holiday cards and gift tags
A star in the corner of a card, recolored gold. For print, use the still SVG or the PNG so nothing depends on motion.
Newsletters and end-of-year slides
A boiling star beside "Happy holidays" on a closing slide, or sparkles next to each team win in a year-in-review deck. Use one moving icon per slide and keep the others still.
Seasonal UI and holiday campaigns
A doodle in your app's December empty state, or a ringing bell next to a "sale ends Friday" notice. Since everything shares one grid and stroke, the seasonal icons drop into an existing interface without clashing.
Social posts
Social apps don't accept SVG uploads. Screen-record an icon drawing itself in a browser for a short clip, or place a still version in your post.
How the animation works
Strokes go down in order, each starting just before the last ends, so a doodle builds up the way you would sketch it on a napkin. Once it is drawn, the line keeps boiling: an SVG filter shifts it with a bit of noise across six frames on a loop, the same jitter you see in hand-inked cartoons.
The animated SVG needs nothing else to run. The drawing animation is CSS inside the file and the boil is a standard SVG filter, so it plays in modern browsers, whether you paste the code into your page or point an <img> at the file.
Many slide apps and design tools import an SVG as a still drawing, or not at all. Because the animated file keeps its strokes hidden until its animation runs, it can come out blank there, so use the still SVG or the PNG in those apps.
Formats and downloads
Free icons: open an icon above and download its still SVG, transparent 512px PNG or animated SVG. In React, install @oreo-design/doodle-icons from npm, mount one <BoilFilter> per page, give each icon boilId so it wiggles, and add draw where you want the entrance.
Pro: a zip of animated SVGs, static SVGs and React components for every Pro icon. Your order ID doubles as your license key and always downloads the latest version.
Free vs Pro
The free set (203 icons today) is free forever under the MIT license, for personal and commercial work. Pro is a one-time purchase, $39 for the first 100 orders, $69 after that. It includes 1,708 more icons and every batch we publish on the way to 2,000. No subscription, and there's a 14-day full refund if it's not for you.
Christmas icons FAQ
Some are. Christmas ornament, snowman, gingerbread man, Christmas tree, snowflake, candy cane and 3 more are free; stocking, mitten, gift, trees, cookie, cloud snow and 41 more come with Doodle Icons Pro, a one-time purchase. Free icons are MIT-licensed for personal and commercial use.
Yes. The free icons are MIT-licensed, and the Pro license covers unlimited personal and commercial projects, including client work; you can recolor and resize the icons inside them. You can't resell or share the icon files themselves, or put them in an icon library, font or template marketplace.
Yes, for the free ones: each free icon's page has a transparent 512px PNG next to the still and animated SVGs. Pro icons come as animated and static SVG files plus React components.
Many email clients don't show SVG at all, so use the PNG in emails. Keep the animated SVG for web pages.