🔍 Search tool typos in the text, files and websites
Alternatives To Yaspeller
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ripgrep38,1173322164 days ago34June 12, 2021215unlicenseRust
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
a day ago24May 29, 202293apache-2.0Rust
A simple, fast and user-friendly alternative to 'find'
Linux Command24,105
216 hours ago40August 30, 202263mitMarkdown
a month ago29January 09, 202215mitTypeScript
List any node_modules 📦 dir in your system and how heavy they are. You can then select which ones you want to erase to free up space 🧹
Terminal Mac Cheatsheet6,482
3 months ago3
List of my most used commands and shortcuts in the terminal for Mac
Buku5,6831124 days ago31July 01, 202214gpl-3.0Python
:bookmark: Personal mini-web in text
2 years ago1February 27, 20181gpl-3.0Python
:mag: Google from the terminal
8 days ago21July 16, 2022120mitRust
Fly through your shell history. Great Scott!
19 hours ago49May 14, 202215apache-2.0Rust
Find files with SQL-like queries
3 months ago5July 03, 20223gpl-3.0Python
:duck: DuckDuckGo from the terminal
Alternatives To Yaspeller
Select To Compare

Alternative Project Comparisons


NPM version NPM Downloads Coverage Status install size

This README is also available in Russian.

Search tool typos in the text, files and websites.

Used API Yandex.Speller.



npm install yaspeller -g

Using CLI

yaspeller [options] <file-or-directory-or-link...>

Using with pre-commit

Add this to your .pre-commit-config.yaml:

- repo: https://github.com/hcodes/yaspeller.git
  rev: '' # Use the sha / tag you want to point at
    - id: yaspeller


  • yaspeller README.md — search typos in the file.
  • yaspeller "*.md" — node glob syntax for Windows.
  • yaspeller -e ".md,.html,.txt" ./texts/ — finding typos in files in the folder.
  • yaspeller https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%BA%D0%B0 — search typos in the page.
  • yaspeller http://bem.info/sitemap.xml — search typos at the addresses specified in the sitemap.xml.
  • echo "Hello, world!" | yaspeller --stdin
  • echo "Hello, world!" | yaspeller --stdin --stdin-filename hello.txt


-f, --format <value>

Formats: plain, html, markdown or auto.
Default: auto.

-l, --lang <value>

Languages: en, ru or uk.
Default: en,ru.

-c, --config <path>

Configuration file path.

-e, --file-extensions <value>

Set file extensions to search for files in a folder.
Example: .md,.htm,.txt.

--dictionary <file>

JSON file for own dictionary.

    "someword1", // someword1 = someword1 and Someword1
    "Someword2", // Someword2 = Someword2

Regular expressions are supported:

    "unknown(W|w)ord[12]?", // unknown(W|w)ord[12]? = unknown(W|w)ord[12]? and Unknown(W|w)ord[12]?
    "Unknown(W|w)ord[34]?" // Unknown(W|w)ord[34]? = Unknown(W|w)ord[34]?

yaspeller --dictionary my_dict.json .
yaspeller --dictionary my_dict.json:my_dict2.json .

If you have tons of markdown and introduce this linter, you're likely to want generation of initial dictionary with yaspeller-dictionary-builder, so one line will cover all word's forms.

--report <type>

Set type of report: console, html, markdown, junit or json.
Default: console
Example: console,html,custom_report.js


Check the correctness of using the letter “Ё” (Yo) in Russian texts.


Do not use a dictionary environment (context) during the scan.
This is useful in cases where the service is transmitted to the input of a list of individual words.


Highlight repetitions of words, consecutive. For example, I flew to to to Cyprus.


Flag words, written in Latin, as erroneous.

--ignore-tags <tags>

Ignore HTML tags.
Default: code,kbd,object,samp,script,style,var
Option to formats html andmarkdown.

--ignore-text <regexp>

Remove the text from the scan using regular expressions.


Ignore the incorrect use of UPPERCASE / lowercase letters, for example, in the word moscow.


Ignore words with numbers, such as avp17h4534.


Ignore words, written in Latin, for example, madrid.


Ignore Roman numerals I, II, III, ....


Ignore words written in capital letters.


Ignore Internet addresses, email addresses and filenames.

--max-requests <value>

Max count of requests in parallel.
Default: 2.


Clean output without colors.


Output only errors.


Process files on <STDIN>. Default: false

--stdin-filename <file>

Specify filename to process <STDIN> as. Used in reports.


Debug mode.


npm install yaspeller --save-dev

Add the text in package.json / scripts:
"yaspeller": "yaspeller .",

To run the linter:
npm run yaspeller

yaspeller is configured using JSON file at the root of the project:

  • .yaspellerrc
  • .yaspellerrc.js
  • .yaspellerrc.json
  • .yaspeller.json
  • package.json, field yaspeller
  "excludeFiles": [
  "lang": "ru",
  "fileExtensions": [
  "dictionary": [

Advanced example:

  "excludeFiles": [
  "format": "html",
  "lang": "en",
  "fileExtensions": [
  "report": ["console", "html"],
  "dictionary": [
    // JSON comments
    "someword1", // someword1 = someword1 and Someword1
    "Someword2", // Someword2 = Someword2
    "some(w|W)ord[23]", // some(w|W)ord[23] = some(w|W)ord[23] and Some(w|W)ord[23]
    "Some(w|W)ord" // Some(w|W)ord = Some(w|W)ord
  "ignoreText": [
    "<php\?[^]*?\?>", // Shortly
    ["<php\?[^]*?\?>", "g"] // Longly
  "ignoreTags": ["code", "script"],
  "ignoreUrls": true,
  "findRepeatWords": true,
  "maxRequests": 5
Property  Type Details
format String --format
lang String --lang
excludeFiles Array
fileExtensions Array --file-extension
dictionary Array --dictionary
report Array --report
checkYo Boolean --check-yo
byWords Boolean --by-words
findRepeatWords Boolean --find-repeat-words
flagLatin Boolean --flag-latin
ignoreTags Array --ignore-tags
ignoreText Array --ignore-text
ignoreCapitalization Boolean --ignore-capitalization
ignoreDigits Boolean --ignore-digits
ignoreLatin Boolean --ignore-latin
ignoreRomanNumerals Boolean --ignore-roman-numerals
ignoreUppercase Boolean --ignore-uppercase
ignoreUrls Boolean --ignore-urls
maxRequests Number --max-requests

Ignore text from checking

Ignore a line

var re = /a-z/; // yaspeller ignore
var re = /a-z/; /* yaspeller ignore */
<span>a-z</span> <!-- yaspeller ignore -->

Ignore a block

/* yaspeller ignore:start */
const reUpper = /A-Z/;
const reLower = /a-z/;
/* yaspeller ignore:end */
<!-- yaspeller ignore:start -->
<!-- yaspeller ignore:end -->

Gulp plugin

const gulp = require('gulp');
const run = require('gulp-run'); // npm install gulp-run --save-dev

gulp.task('yaspeller', function (cb) {
    run('./node_modules/.bin/yaspeller .').exec()
        .on('error', function (err) {
        .on('finish', cb);

Grunt plugin

module.exports = function(grunt) {
    grunt.loadNpmTasks('grunt-shell'); // npm install grunt-shell --save-dev
        shell: {
            yaspeller: {
                options: {stderr: false},
                command: './node_modules/.bin/yaspeller .'
    grunt.registerTask('lint', ['shell:yaspeller']);

Restrictions API Yandex.Speller



MIT License

Popular Search Projects
Popular Command Line Projects
Popular Computer Science Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Regular Expression