Smart quotes for headlines! Follows the AP Style Guide

Downloads in past


512.1.18 years ago8 years agoMinified + gzip package size for headline-quotes in KB


Circle CI
🗒 Smart quotes for headlines! Follows the AP Style Guide
Per the AP Style Guide, headline quotes work differently than normal English. Where US and UK English specify using double quotes (with single quotes for inner quotations), AP suggests that headlines always use single quotes. This convention is followed by most publications, including The Guardian and Reuters.
Most smart quote libraries follow the rules for body text and thus will assume single quotes in headlines are likely to be apostrophes. This library aims to solve the smart quote issue for this specific use case.

What's Covered

  • prepended apostrophes (e.g. 'tis and the '60s)
  • apostrophes inside words (e.g. I'll or the dog's bone)
  • special cases (e.g. In 'n' Out)
  • quotes (double quotes get converted to single quotes)
  • plural posessives (e.g. the lawyers' cars)
  • appended apostrophes (e.g. Ol' Mizzou)
  • quotes around apostrophes are handled correctly (e.g. "'60s era childrens' toys")
  • quotes interspersed with apostrophes are handled correctly (e.g. "'60s era" childrens' toys)

What Isn't Covered

  • quotes inside quotes (e.g. "Someone said, 'Something else'")
  • unclosed quotes (e.g. multi-paragraph quotes, which in English may have unclosed quotation marks)
  • certain prepended apostrophes (e.g. 'cause I said so)
  • certain appended apostrophes (I'm only catching o', ol', and s')
  • other special cases besides 'n'
  • grammatical rules that aren't US/Canadian English (e.g. UK rules, other languages' quotation marks)
  • Hawaiian Ê»Okina and similar glottal stops
  • foot and inch marks


npm install --save headline-quotes


This library exports both es2015-style modules and regular old commonjs modules, so you can use browserify, rollup, or webpack to include it client-side.
import quote from 'headline-quotes';

quote('"Make Me Smart"'); // ‘Make Me Smart’

var quote = require('headline-quotes');

quote('"Make Me Smart"'); // ‘Make Me Smart’


English is a mishmash of conflicting grammatical rules, so I've probably missed something! Create a pull request with a failing unit test, and I'll gladly help fix it.