HTML Entity for Long S (ſ)

Beginner
5 min read
Updated: Sep 2026
1 example
Unicode U+017F

What Is the Long S Entity?

Long S (ſ) is the Latin Extended-A character at Unicode U+017F (LATIN SMALL LETTER LONG S). It is an archaic form of the letter s found in historical European typography.

Remember
Character     ſ
Unicode       U+017F
Hex entity    ſ
Decimal       ſ
Named entity  (none)
CSS escape    \017F
Not the same  s · f · ß (ß)

Hex, decimal, CSS, and a typed character all produce the same glyph: ſ. Prefer ſ when you want an explicit entity. There is no named HTML form.

Quick Reference

One table for every form you will actually use.

FormCodeWhere it goes
Hex entityſHTML markup (best entity default)
Decimal entityſHTML markup
Named entityNoneHTML5 does not define one
CSS escape\017FStylesheet content
Direct characterſUTF-8 HTML text

When to Use Which

SituationUse
Readable numeric entity in HTMLſ
Decimal entity requiredſ
Generated text via ::before / ::aftercontent: "\017F"
Modern letter sType s (U+0073) — different character
German sharp s (ß)Use ß (U+00DF)

Live Preview

Long S in common historical-typography contexts.

Word sample Congreſs
Large glyph ſ
Hex entity ſ → ſ
vs s / f / ß ſ  |  s  |  f  |  ß
With entities Hex: ſ | Decimal: ſ

Complete HTML Example

One page that shows this character with hex, decimal, and CSS. Use View Output or open the live editor.

Hex + Decimal + CSS

Three ways to produce ſ in a single document (no named entity).

html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Long S (ſ)</title>
  <style>
    #point::after {
      content: "\017F";
    }
  </style>
</head>
<body>
  <p>Using Hex Code: &#x017F;</p>
  <p>Using HTML Code: &#383;</p>
  <p id="point">Using CSS Entity: </p>
  <p><code>Congre&#x017F;s</code></p>
</body>
</html>
Try It Yourself

How It Works

1. Hex: U+017F → &#x017F; in HTML. The browser turns it into ſ.

2. Decimal: same code point as 383 → &#383;. Same result as hex.

3. Named: HTML5 does not define a named entity for this character — use hex or decimal instead.

4. CSS: use \017F in content (not an HTML entity). #point::after appends that ſ after the paragraph text.

Pitfalls & Tips

Common mistakes when working with Long S.

Look-alikes

ſ ≠ s ≠ f ≠ ß

Long s can resemble f in some fonts. It is not modern s and not German sharp s (&szlig;).

Named

No &…; name

Do not invent a name such as &longs;. Use &#x017F; or &#383;.

Usage

Historical spelling rules

In historical texts, long s usually appears mid-word and final s stays short — follow your edition’s style guide.

CSS vs HTML

Do not mix escapes

\017F belongs in CSS. &#x017F; / &#383; belong in HTML.

Fonts

Latin Extended-A coverage

Most modern fonts include U+017F, but verify on target devices if historical glyphs are critical.

Semicolon

End references

Always finish with ; — write &#x017F;, not &#x017F.

Browser Support

Long S (U+017F) and its entity forms (&#x017F;, &#383;, CSS \\017F) are supported in all modern browsers. Glyph coverage depends on the font.

✓ Universal encoding

Long S (&#x017F;)

Encode with hex, decimal, or CSS escape — or type ſ directly in UTF-8 HTML. No named entity.

100% Browser coverage
Google Chrome Supported
Yes
Microsoft Edge Supported
Yes
Mozilla Firefox Supported
Yes
Apple Safari Supported
Yes
Opera Supported
Yes
Internet Explorer IE 9+
Yes*
U+017F Full support

Bottom line: Prefer &#x017F; for readable HTML. Use \\017F only inside CSS content.

Key Takeaways

  • Unicode: this character is U+017F (decimal 383).
  • HTML: prefer &#x017F; — or use &#383;. No named entity.
  • CSS: use \017F inside content for generated text.
  • Watch out: U+017F ≠ modern s ≠ f ≠ &szlig;.

One line: U+017F → &#x017F; / &#383; / CSS \017F (no named entity).

Frequently Asked Questions

Use &#x017F; (hex), &#383; (decimal), or the CSS escape \017F in the content property. All render ſ when the font supports Latin Extended-A. There is no named HTML entity.
U+017F (LATIN SMALL LETTER LONG S). Hex 017F, decimal 383. It belongs to Latin Extended-A (U+0100–U+017F).
No. HTML5 does not define a named entity for U+017F. Use numeric references like &#x017F; or &#383;.
Use it in historical editions, paleography, typography studies, and any content that needs the archaic long s rather than a modern s.
HTML entities (&#383; or &#x017F;) go in markup. The CSS escape \017F is used in stylesheets (usually in the content property of ::before/::after). Both render ſ.
No. Modern s is U+0073. The letter f is U+0066. German sharp s is &szlig; (ß, U+00DF). Long s (U+017F, ſ) is a distinct historical character.

Did you know?

Long S is Unicode U+017F (decimal 383) — LATIN SMALL LETTER LONG S in Latin Extended-A. HTML5 has no named entity — use &#x017F; or &#383;. It was common in historical European typography (for example Congreſs) and is not the same as modern s, f, or German &szlig; (ß).

Next: Long Solidus Overlay

Learn the HTML entity for Long Solidus Overlay — next in this sequence.

Continue tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful