How to Replace Accented Characters with English Letters in Google Sheets

Introduction

Accented characters (also called diacritics) such as é, ñ, ü, à are common in many languages. However, sometimes you need to convert them to their English equivalents for data processing, URL generation, or systems that don’t support special characters. In this tutorial, you’ll learn how to replace accented characters with plain English letters in Google Sheets using both formulas and Google Apps Script.

Step 1: Understanding the Problem

Accented characters can cause issues in:

  • Sorting data alphabetically
  • Generating clean URLs or filenames
  • Matching text in lookups
  • Exporting data to systems that don’t handle special characters well

Example:

Input:  José, München, Ça va
Output: Jose, Munchen, Ca va
        

Step 2: Manual Replacement with the SUBSTITUTE Function

You can manually replace accented characters using multiple SUBSTITUTE() functions. While this works for small sets of characters, it becomes tedious for larger lists.

Example formula:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "é", "e"), "ñ", "n"), "ü", "u")
        

This formula will replace specific accented characters in cell A2 with their English equivalents.

Step 3: Using REGEXREPLACE for Multiple Characters

If you want to remove or replace several types of accents in one go, you can use REGEXREPLACE in combination with ranges of characters.

Example:

=REGEXREPLACE(A2, "[éèêë]", "e")
        

This will replace all variations of “e” with accents with a plain “e”. You can add more ranges for other letters:

=REGEXREPLACE(REGEXREPLACE(A2, "[éèêë]", "e"), "[àáâä]", "a")
        

Step 4: Automating with Google Apps Script

For larger datasets and complete automation, Google Apps Script is the best solution. You can map accented characters to their replacements and process them all at once.

function removeAccents(text) {
  var accentsMap = {
    'á':'a', 'à':'a', 'â':'a', 'ä':'a', 'ã':'a', 'å':'a', 'ā':'a',
    'Á':'A', 'À':'A', 'Â':'A', 'Ä':'A', 'Ã':'A', 'Å':'A', 'Ā':'A',
    'é':'e', 'è':'e', 'ê':'e', 'ë':'e', 'ē':'e',
    'É':'E', 'È':'E', 'Ê':'E', 'Ë':'E', 'Ē':'E',
    'í':'i', 'ì':'i', 'î':'i', 'ï':'i', 'ī':'i',
    'Í':'I', 'Ì':'I', 'Î':'I', 'Ï':'I', 'Ī':'I',
    'ó':'o', 'ò':'o', 'ô':'o', 'ö':'o', 'õ':'o', 'ō':'o',
    'Ó':'O', 'Ò':'O', 'Ô':'O', 'Ö':'O', 'Õ':'O', 'Ō':'O',
    'ú':'u', 'ù':'u', 'û':'u', 'ü':'u', 'ū':'u',
    'Ú':'U', 'Ù':'U', 'Û':'U', 'Ü':'U', 'Ū':'U',
    'ñ':'n', 'Ñ':'N', 'ç':'c', 'Ç':'C'
  };
  
  return text.split('').map(function(char) {
    return accentsMap[char] || char;
  }).join('');
}

function replaceAccentsInRange() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getActiveRange();
  var values = range.getValues();
  
  for (var i = 0; i < values.length; i++) {
    for (var j = 0; j < values[i].length; j++) {
      if (typeof values[i][j] === 'string') {
        values[i][j] = removeAccents(values[i][j]);
      }
    }
  }
  range.setValues(values);
}
        

How it works:

  • removeAccents → Maps accented characters to plain English letters.
  • replaceAccentsInRange → Processes the currently selected range in Google Sheets.

To use:

  1. Go to Extensions > Apps Script.
  2. Paste the code and save it.
  3. Select the range you want to process in Google Sheets.
  4. Run replaceAccentsInRange to replace all accents.

Step 5: Using a Custom Function in Google Sheets

You can also use the script’s removeAccents function directly as a formula:

=removeAccents(A2)
        

This will return the value of A2 with all accented characters replaced by English letters.

Conclusion

Whether you need a quick fix using SUBSTITUTE() and REGEXREPLACE() or a fully automated solution with Google Apps Script, Google Sheets gives you multiple ways to replace accented characters with English letters. Using Apps Script makes the process scalable and efficient for large datasets, while formulas work well for smaller jobs or quick edits.