Awesome Open Source
Awesome Open Source


npm Version Build Status dependencies Status devDependencies Status

Extension of styled-components (v5.x) with essential features for building email components.



styled-components is a universal styling solution with great developer experience and low learning curve. Unfortunately, there's no native support for inline styling which is essential for building emails. This module adds all necessary features to build mail-first components.



yarn add styled-email-components


npm install --save styled-email-components

Getting Started

Check original Getting Started for more examples.

import React from 'react';
import { renderToStaticMarkup } from 'react-dom/server';
import styled from 'styled-email-components';

const Link = styled.a`
  font-family: sans-serif;
  background: blue;
  color: white;

renderToStaticMarkup(<Link href="">Hey</Link>),
//  output
// <a href="" style="font-family:sans-serif;background-color:blue;color:white;">Hey</a>



This module sets list of XHTML 1.0 Transitional element aliases instead of the original HTML5 set, which is a widely used doctype in emails.

Outlook-specific VML elements

In addition to XHTML elements, styled.vml.*, styled.wml.* and* aliases are available. These are simple proxies and pass tag names as-is with v:, w: and o: prefixes respectively.

Other APIs

Original APIs are mirrored without any modifications from styled-components. Make sure to check server-side rendering guide for rendering the final email.


MIT © Sergey Bekrin

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Css (210,042
Reactjs (72,763
Styled Components (3,570
Email (2,593
Css In Js (573
Related Projects