Tools for Spell Checking in R

Spell checking common document formats including latex, markdown, manual pages, and description files. Includes utilities to automate checking of documentation and vignettes as a unit test during 'R CMD check'. Both British and American English are supported out of the box and other languages can be added. In addition, packages may define a 'wordlist' to allow custom terminology without having to abuse punctuation.



  • spell_check_package() now also checks and in the package root
  • Enforce latest hunspell and libhunspell, which include updated dictionaries
  • Treat all input as UTF-8. Fixes some false positives on Windows
  • Ignore yaml front matter in markdown except for 'title', 'subtitle', and 'description'
  • Markdown: filter words that contain an '@' symbol (citation key or email address)
  • Properly parse [email protected] field for ignore list (issue #2)
  • Use tools::file_ext instead of knitr:::file_ext


  • Internally normalize all case of lang strings to lower_UPPER e.g en_US
  • Only run automatic check when 'spelling' is available and NOT_CRAN is set


  • Breaking: Package spell-checker now uses language from DESCRIPTION
  • Require hunspell 2.9 dependency (better parsing and dicationaries)
  • Change default lang to 'en_US'


  • Initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.2 by Jeroen Ooms, a year ago (website) (devel)

Report a bug at

Browse source code at

Authors: Jeroen Ooms [cre, aut] , Jim Hester [aut]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports commonmark, xml2, hunspell, knitr

Suggests pdftools

Imported by causal.decomp, mdapack, ypssc.

Suggested by AmpGram, AustralianPoliticians, BaseSet, BayesMassBal, BrailleR, CMapViz, COINr, CancerGram, ClustImpute, DRDID, DataPackageR, DominoDataCapture, EML, EcoNetGen, EpiNow2, EstimationTools, FastJM, FielDHub, GGally, GREMLINS, GSODR, HaDeX, HiClimR, HotellingEllipse, KingCountyHouses, LDlinkR, LexisNexisTools, Luminescence, MBmca, MLVSBM, MODIStsp, MOSS, MixMatrix, MtreeRing, NHSDataDictionaRy, NHSRplotthedots, PCRedux, PLNmodels, PROJ, PSSMCOOL, PointFore, R2019nCoV, RAQSAPI, RCLabels, RLumCarlo, RNeXML, RTTWebClient, Rage, Rcompadre, ReviewR, Rogue, RtD3, Rwtss, RxODE, SLOPE, SWIM, ShiftShareSE, SingleCaseES, SpaDES, SynthTools, Ternary, TreeDist, TreeSearch, TreeTools, VC2copula, additive, adept, adeptdata, adheRenceRX, afdx, alfr, aliases2entrez, allestimates, amapGeocode, applicable, aricode, arkdb, ascotraceR, asymptor, attenuation, auditor, autothresholdr, aweek, babette, baguette, basf, bayesian, bayesmove, bayestestR, bcrypt, beadplexr, beans, beastier, beautier, bettermc, bigdist, bigreadr, bigsnpr, bigstatsr, bigutilsr, blastula, boundingbox, bridger, brolgar, broom, broom.helpers, broomExtra, brotli, brulee, buildr, caRecall, caesar, callr, campfin, catchr, causalPAF, ceramic, cesR, chest, childdevdata, chipPCR, chunkhooks, circletyper, clifro, clustree, cmsaf, cmsafops, cmsafvis, cmstatr, colorhex, combinedevents, concurve, condTruncMVN, config, contactdata, contentid, convdistr, correlation, corrgrapher, cort, countfitteR, covidregionaldata, crimeutils, crplyr, crsmeta, crunch, crunchy, crypto2, curl, cvCovEst, datawizard, dcurves, decido, deepdep, depigner, desc, detrendr, devtools, dfadjust, discrim, dittodb, dracor, dreamer, ds4psy, dsb, dsmisc, ebci, eechidna, effectsize, emld, empichar, envi, epigraphdb, era, eulerr, exampletestr, experDesign, exuber, fable, fabletools, fairmodels, fakemake, fastDummies, fastLaplace, fbar, fdaoutlier, featureflag, fflr, ffp, fgeo, fgeo.analyze, fgeo.plot, fgeo.tool, fgeo.x, figpatch, filebin, filesstrings, fillr, finetune, fishtree, fitbitr, fitzRoy, flobr, frscore, fs, fusen, ganalytics, gapclosing, gargle, gateR, gcite, geckor, geometry, gert, ggasym, ggcharts, ggcorrplot, ggdag, ggdendro, ggfittext, gggenes, gghilbertstrings, gglorenz, ggnormalviolin, ggokabeito, ggseg, ggseg3d, ggsignif, ggstatsplot, ggthemes, gh, git2rdata, gitignore, gitlink, glancedata, gluedown, golem, googledrive, googlesheets4, grainscape, grantham, greed, greta, grizbayr, gtsummary, gwasrapidd, gwavr, hackeRnews, heapsofpapers, highcharter, hockeystick, htmltab, httpcache, httptest, httptest2, hunspell, iGraphMatch, idmodelr, ihpdr, ijtiff, implicitMeasures, indiedown, inplace, insight, insurancerating, invctr, iotables, ipmr, isogeochem, ivx, jinjar, jose, jsonld, labelled, lactater, leiden, lightr, magick, mailmerge, mapscanner, marginaleffects, mark, matrixNormal, matrixprofiler, matsindf, mctq, mdftracks, meditations, medrxivr, metaBMA, metabolic, metaconfoundr, metaumbrella, metro, miWQS, migest, missSBM, mizer, modelStudio, modelbased, modelsummary, mongolite, mpcmp, multiplestressR, mustashe, mvrsquared, nandb, naniar, nasapower, nat.nblast, nat.templatebrains, natcpp, neonstore, netmhc2pan, nettskjemar, nimbleCarbon, nipnTK, nomnoml, nsyllable, nvctr, osfr, outcomerate, overviewR, oxcgrt, pRecipe, packager, painbow, paleotree, parameters, paramlink2, parcats, partition, pathwayTMB, pcadapt, pcsstools, pdqr, perccalc, performance, physiology, piggyback, pivotaltrackR, pixarfilms, pkgcache, pkgdepends, plsmod, plumber, poissonreg, polylabelr, powerHaDeX, ppitables, ppseq, precisely, precommit, predictrace, promises, prompter, protolite, psychtm, psymonitor, publipha, quadrupen, qualpalr, quanteda, quanteda.textmodels, quanteda.textplots, quanteda.textstats, r2dii.analysis, r2dii.match, r2dii.plot, rCAT, rSAFE, rando, ravelRy, rcarbon, rde, rdflib, readobj, readr, redland, regions, repana, report, reprex, retistruct, retroharmonize, rfishbase, rfordummies, rgee, rgtmx, rheroicons, rhype, riskyr, rlc, rmangal, rmdfiltr, rmdpartials, rmdplugr, robber, robis, rportfolio, rstanemax, rstatix, rstudio.prefs, rsvg, rtern, rtsVis, rules, runjags, runstats, rvest, rwhatsapp, rzentra, sageR, salesforcer, sarsop, savonliquide, sbm, scDiffCom, scipub, sdcLog, seasonal, see, segclust2d, sen2r, seqR, shinyTime, shinyfullscreen, shinyloadtest, shinymodels, shinyobjects, simplecolors, siteymlgen, sknifedatar, sonicscrewdriver, sortable, spacyr, sparrpowR, sparsediscrim, spatialRF, spdplyr, spinifex, spoiler, sport, srt, ssh, sss, stapler, starter, statsExpressions, statsearchanalyticsr, statsr, stencilaschema, stm, stopwords, stratEst, strex, suddengains, surveydata, svDialogs, svGUI, svMisc, svSocket, svUnit, syn, sys, tabularaster, taxadb, taxalight, taylor, tbrf, tdigest, tesseract, textmineR, tibblify, tidyHeatmap, tidyUSDA, tidycat, tidylda, tidyndr, tidysmd, tidywikidatar, tongfen, tor, tracerer, traipse, transplantr, treemapify, trip, troopdata, tsbox, tsibble, tsmp, tune, tvthemes, uklr, umx, uncorbets, unikn, unjoin, usemodels, usethis, vader, vapour, vegawidget, versionsort, virtuoso, visdat, votesmart, vroom, washdata, waspr, wcde, wig, workflowr, workflowsets, writexl, yatah, ymlthis, zcurve.

See at CRAN