⚠️ ⚠️ Currently Unmaintained ⚠️ ⚠️ - fast, beautiful, and painless social shares:
Branch: master
Clone or download
hhsnopek Merge pull request #291 from carrot/hs.github
add issue & pull request template w/update jsfiddle template
Latest commit 1bfa39b Feb 19, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github add issue and pull request template Feb 19, 2016
docs Fixed typo in docs for the appId config. Feb 17, 2016
examples update paths to dist Oct 9, 2015
src Merge pull request #287 from joelmats/fix-double-render-fb-popup Feb 17, 2016
tests Fixed double render error. Feb 17, 2016
.editorconfig editorconf, contributing, license, update readme Jan 9, 2014
.gitignore remove dist folder Oct 8, 2015
.jshintrc convert coffee to es6 Jun 16, 2015
.npmignore add issue and pull request template Feb 19, 2016
CONTRIBUTING.md update jsfiddle template Feb 19, 2016
LICENSE update filenames & references and reorganize Oct 8, 2015
README.md Updating backticks Feb 17, 2016
gulpfile.js update minification process Nov 2, 2015
index.html fix poor regex replace Oct 9, 2015
package.json Merge pull request #248 from MikeQuaci/patch-1 Feb 17, 2016
pioneer.json add tests Jul 2, 2015


Share Button

An Introduction

Simple, light, flexible, and good-looking share button. See it in action!

Why Should You Use This?

All major social networks have their own share widgets you can put on your page, but this isn't ideal for a variety of reasons:

  1. They tend to be slow-loading.
  2. They inject extra javascript and DOM elements into your page making it slower.
  3. They generally aren't customizable enough to fit the design of your site.
  4. Managing each provider's code snippets etc is repetitive and needless. Additionally, they can make your front-end code quite messy.
  5. The buttons themselves take up a lot of space (especially the Facebook share button).

Let's take a quick look at the alternative, using this little plugin:

  1. It doesn't load any iframes or extra javascript making the overall load time much faster.
  2. It looks simple and clean by default, and can be customized in any and every way.
  3. All you have to do to use it is include the script and call new ShareButton on a share-button element. That's two lines of code total, the script link and the share call.
  4. It's tiny and compact, expanding only when the user actually wants to share something.

Getting Started

  1. Download the latest script & stylesheet and include it on your page.
  2. Make a share-button element on your page
  3. In your javascript, call new ShareButton()
  4. Pass options to the share call if you want (details below)
  5. Profit!
new ShareButton({
  networks: {
    facebook: {
      appId: "abc123"

NPM installation

  1. npm i --save-dev share-button
  2. Make a share-button element on your page
  3. In your javascript, var ShareButton = require('share-button');
  4. Pass options to the share call if you want (details below)
  5. Profit!
var ShareButton = require('share-button');

new ShareButton({
  networks: {
    facebook: {
      appId: "abc123"


Configuration Options

The share button is extremely flexible. As such we provide the ability to pass a wide array of options for additional configuration. All configuration options are available here: Configuration Options


Additionally, you're able to customize the look and feel of the button and animations though CSS. All CSS styles and how to modify them are available here: CSS Styles


You are able to set before and after hooks when a user clicks a network. This allows you to dynamically change attributes for that button. For more information: click here

Public API

The share button also returns a simple API that can be used to control it should you need to. Example shown below:

var share = new ShareButton(); // Grabs all share-button elements on page

share.toggle(); // toggles the share button popup
share.open();   // open the share button popup
share.close();  // closes the share button popup
share.config;   // exposes the configurations listed above


As of version 1.0.0 we completely removed the Entypo font set!


This project was inspired by this dribbble shot and this cssdeck experiment - huge props to these two guys for some incredible ideas and work.

Contributing and License