Navigation Menu

Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



3 Commits

Repository files navigation


npm package version Travis build status npm package downloads index.js file size code style license

Search files for Greek characters and replace them with their greeklish equivalents.


npm install [-g] [-S] greeklish-file-replace




The files parameter can accept an array of strings or a single comma-separated string that contains file paths or globs for the files you would like to do the replacements in.


// A single file path
files = 'path/to/a/file.txt'

// A single glob
files = 'path/to/files/**/*.txt'

// A comma-separated string with both a file path and a glob
files = 'files/replace.txt,files/**/*.js'

// An array of file paths and globs
files = [


The following options are all optional:

options = {

  // Character encoding for reading/writing files (defaults to utf-8)
  encoding: 'utf-8',

  // Files to replace (only used if `files` parameter is left blank)
  files: 'replace/**/files/*.txt',

  // Characters to ignore during the replacement process (defaults to blank)
  ignoreChars: ';',

  // Files to ignore (works the exact same as `files` parameter)
  ignoreFiles: '**/node_modules/**/*',

  // The directory to save the changed files to (original files will be overwritten if left blank) (defaults to blank)
  output: 'output_directory',

  // Text to add to the beginning of all replacements (defaults to blank)
  prefix: '_[',

  // Text to add to the end of all replacements (defaults to blank)
  suffix: ']_',

  // Set to true to silent all console output (only used in command line) (defaults to false)
  silent: true,

  // Set to true to find out what files are going to be changed without actually changing them (defaults to false)
  test: true,

  // Set to true to add an index number to the end of all repeated replacements or provide a string to use letters instead of numbers (defaults to false)
  unique: 'abcd'



Async Promises

const greeklishReplace = require('greeklish-file-replace')

greeklishReplace(files, options)
  .then(results => console.log(results))
  .catch(error => console.log(error))

Async Callbacks

const greeklishReplace = require('greeklish-file-replace')

greeklishReplace(files, options, (error, results) => {
  if (!error) {
  } else {

Sync Function

const greeklishReplace = require('greeklish-file-replace')

var results = greeklishReplace.sync(files, options, cb)

Sync Callback

The synchronous function accepts a function as an optional third parameter. This function will be called after every replacement with the file name and number of replacements made passed as parameters.


var results = greeklishReplace.sync(files, options, (file, changes) => {
  if (changes && !options.silent) {
    console.log('Made ' + changes + ' changes in ' + file)

Command Line

greeklish-file-replace files/to/replace/*.txt

Note: When using the files parameter in the command line, your system will take care of expanding your single star globs for us, however it probably won't expand double stars. To get around this, you can use the files option instead (eg. greeklish-files-replace --files=replace/**/*.*).


MIT. See the License file for more info.