Diacritics Remover

Strips accents and diacritical marks from letters using Unicode NFD normalization, turning text like 'café' into 'cafe' and 'naïve' into 'naive', useful for generating ASCII-safe filenames, slugs, or search-friendly text. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-23

Overview

Introduction

Accented characters like é, ñ, or ü are essential for correct spelling, but they can cause problems in filenames, URLs, or systems that only expect plain ASCII.

This tool strips them down to their base letters, and runs entirely client-side, so nothing you paste is ever uploaded to a server.

What Is Diacritics Remover?

A diacritics-stripping tool that converts accented letters to their unaccented base form, using the standard JavaScript Unicode normalization approach.

It's part of this site's String Tools collection and works entirely in your browser.

How Diacritics Remover Works

The tool first decomposes the text with `.normalize("NFD")`, which splits each accented character into a base letter followed by separate combining diacritical mark characters.

It then strips those combining marks with a regex matching the Unicode combining diacritical marks block, and recomposes the result with `.normalize("NFC")` to produce clean, standard text.

When To Use Diacritics Remover

Use it when generating ASCII-safe filenames, URL slugs, or identifiers from text that contains accented characters.

It's also useful for making search or comparison logic accent-insensitive by normalizing both sides first.

Often used alongside Whitespace Trimmer and Whitespace Remover.

Features

Advantages

  • Uses the standard, spec-correct Unicode normalization approach rather than a hand-maintained character lookup table.
  • Handles a broad range of Latin-script accented letters automatically.
  • Recomposes to NFC after stripping, so the result is a properly normalized string rather than a partially decomposed one that would compare unequal to identical-looking text.

Limitations

  • Characters without a canonical decomposition (some ligatures or non-Latin scripts) are left unchanged.
  • Removing accents can change meaning or create ambiguity in languages where diacritics are semantically significant.

Examples

Stripping accents from a phrase

Input

café naïve résumé

Output

cafe naive resume

Each accented letter is decomposed and its combining diacritical mark is stripped, leaving the plain base letters.

Best Practices & Notes

Best Practices

  • Only strip diacritics when ASCII-safety or accent-insensitive matching is genuinely required; otherwise preserve the original accented spelling.
  • Combine with a slugify tool afterward if the end goal is a URL-safe slug.
  • Strip diacritics for matching and slug generation but keep the original spelling for display, since removing the marks changes meaning and pronunciation in many languages.

Developer Notes

The implementation is `input.normalize("NFD").replace(/[\u0300-\u036f]/g, "").normalize("NFC")`. NFD decomposition separates combining marks from their base characters so a single regex can strip exactly those marks without touching the base letters.

Diacritics Remover Use Cases

  • Generating an ASCII-safe filename from a title with accents
  • Building a URL slug from international text
  • Making search or comparison accent-insensitive

Common Mistakes

  • Applying this to text where the accents carry meaning, which can produce a misleading or incorrect result.
  • Assuming it strips all non-ASCII characters; it only removes decomposable diacritical marks, not unrelated symbols or scripts.

Tips

  • Test round-trip behavior on your specific character set before relying on this for anything user-facing, since some languages depend heavily on diacritics for correct spelling.
  • Letters such as 'ø', 'ł', and 'ß' are distinct characters rather than accented bases, so NFD leaves them undecomposed and they pass through this tool unchanged.

References

Frequently Asked Questions