Phonomaton: Phonological rule engine



Phonological rules

Underlying representations

Affix rules

Sample phonological rules

Click to add the rule to the current ruleset.

Sample affix rules

Click to add the rule to the current ruleset.

Sample derivations

Click to invoke a sample derivation on some underlying representations.

IPA chart

Click on any symbol to select/deselect; when two symbols are selected, their differing features are displayed. Double-click any symbol to move to its row in the table of features and segments. Symbols that are in the inventory are shown with a border.


  Front Near-front Central Near-back Back
Close i y ɨ ʉ ɯ u
Near-Close ɪ ʏ ʊ
Close-mid e ø ɘ ɵ ɤ o
Mid ə
Open-mid ɛ œ ɞ ʌ ɔ
Near-Open æ ɶ
Open a ɑ ɒ


Bi­labial Labio­dental Dental Alveolar Post alveolar Retroflex Palatal Velar Uvular Pharyngeal Glottal
Plosive p b t d ʈ ɖ c ɟ k ɡ q ɢ ʔ
Nasal m ɱ n ɳ ɲ ŋ ɴ
Trill ʙ r ʀ
Tap or Flap ɾ ɽ
Fricative ɸ β f v θ ð s z ʃ ʒ ʂ ʐ ç ʝ x ɣ χ ʁ ħ ʕ h ɦ
Lateral fricative ɬ ɮ
Approximant ʋ ɹ ɻ j ɰ
Lateral approximant l ɭ ʎ ʟ

Other Symbols

ʍVoiceless labial-velar fricative
wVoiced labial-velar approximant
ɥVoiced labial-palatal approximant
ʜVoiceless epiglottal fricative
ʢVoiced epiglottal fricative
ʡEpiglottal plosive
ɕVoiceless alveolo-palatal fricative
ʑVoiced alveolo-palatal fricative
ɺAlveolar lateral flap
ɧSimultaneous ʃ and x
ɫSimultaneous palatal and uvular


ʦAlveolar ʣ
ʧPalato-alveolar ʤ
ʨAlveolo-palatal ʥ
ʈ͡ʂRetroflex ɖ͡ʐ
t͡ɬAlveolar-lateral d͡ɮ
p͡fBilabial-labiodental b͡v
p͡ɸBilabial-dental b͡β
t̪͡θDental d̪͡ð
c͡çPalatal ɉ͡ʝ
k͡xVelar ɡ͡ɣ
q͡χUvular ɢ͡ʁ

Doubly-articulated stops

k͡pBilabial-velar plosive g͡b
p͡tBilabial-alveolar plosive b͡d

Segments and features

Show/hide features table


Enter phonological rules and underlying representations, then click Submit. If you wish, you can include affix rules.

Phonological rules

The Phonological rules section may specify the phonemic inventory and a list of custom phonemes, and then it contains a list of rules.


The symbol % and anything following it to the end of the line.

Phonemic inventory (optional)

A line starting Inventory: and continuing with a space-separated list of IPA symbols constituting the phonemic inventory.

Custom phonemes (optional)

A line starting Custom: and continuing with a space-separated list of capital letters (not including the special letters X, S, V, and C) that the rules use as custom phonemes. A custom phoneme can be defined with a set of features enclosed in square brackets, such as A[+syllabic,+low]. Any omitted feature is treated as underspecified (equivalent to polarity ±). As a convenience, you copy a set of features to the clipboard by clicking on a symbol in the IPA chart and then clicking on the features that are displayed.

Rule format

  1. ENVIRONMENT must have a single underscore (_), preceded optionally by a PREVIOUS CONTEXT and followed optionally by a SUBSEQUENT CONTEXT.
  2. The TARGET and CONTEXT parts may be multiple "characters", where a "character" may be
    • any Unicode sequence representing a segment (see the table), optionally followed by one or more of these diacritics, which can also be entered via the keyboards:
      • [+nasal] (nasalized):   ̃ (hex 0303)
      • [+syllabic] (syllabic):   ̩  (hex 0329)
      • [-voice] (voiceless):   ̥  (hex 0325)
      • [+constr_gl] (creaky-voiced): for vowels,   ̰   (hex 0330); for consonants,   ʼ   (hex 02bc)
      • [+spread_gl] (breathy-voiced): for vowels,   ̤   (hex 0324); for consonants,   ʰ   (hex 02b0)
      • [+distributed]:    ̪ (hex 032a)
      • [+front]:    ̟   (hex 031f)
      • [+back]:    ̠   (hex 0320)
      • [+round]:    ʷ   (hex 02b7)
      and at most one of these mutually exclusive tone marks:
      • [+tone_top]:   ̋   (hex 030b)
      • [+tone_high]:   ́   (hex 0301)
      • [+tone_mid]:   ̄   (hex 0304)
      • [+tone_low]:   ̀   (hex 0300)
      • [+tone_bottom]:   ̏   (hex 030f)
      • [+tone_rising]:   ̌   (hex 030c)
      • [+tone_falling]:   ̂   (hex 0302)
      • [+tone_highRising]:   ᷄   (hex 1dc4)
      • [+tone_lowRising]:   ᷅   (hex 1dc5)
      • [+tone_highFalling]:   ᷇   (hex 1dc7)
      • [+tone_lowFalling]:   ᷆   (hex 1dc6)
      • [+tone_peaking]:   ᷈   (hex 1dc8)
      • [+tone_dipping]:   ᷉   (hex 1dc9)
      and/or this suprasegmental:
      • [+long] (long):  ː (hex 02d0)
    • a bracketed, comma-separated list of FEATURES with polarity in brackets. Available polarities are +, -, 0, ±, α, , γ, , δ, and . The available FEATURES are listed in the table, along with tone marks and suprasegmentals. Example: [-syllabic, -long, αtone_top]. The polarity ± in a component of TARGET means "must match exactly ±", which only applies to underspecified segments, which are only introduced as custom phonemes. The polarity α, γ, or δ introduces a variable, whose value is either + or - for the scope of the rule; the corresponding negative polarity, such as , is then either - or +.
    • the shorthands V for "vowel", C for "consonant" X for "any consonant or vowel", and S for "white space".
    • any defined custom phoneme.
    • null, which can be written as (hex 2205), Ø (hex 00d8), 0, or (hex 2400),
    • a Perl regex combining the items above. Use ^ to mark the start of the word and $ to mark the end of the word. Other Perl regex metacharacters, other than brackets, are also acceptable.
    • The symbol #, which marks the start of a line, the end of a line, the start or end of a word.
    • The symbol -, marking an affix; it is considered "letter-like" and does not constitute a word boundary.
    • The symbol =, marking a clitic, (hex 21d2), marking a proclitic, and { and } marking prosodic boundaries; these symbols are also considered to mark word boundaries.
    • IPA marks for stress: ˈ (hex 02c8) and ˌ (hex 02cc).
  3. ARROW may be written as ->, =>, or (hex 2192). If it is followed by *, the rule should be applied repeatedly until it makes no further changes.
  4. CHANGE may be
    • null, as above
    • multiple Unicode characters
    • a set of features to apply to the TARGET (which must be a single segment). The feature set may include both positive and negative components, as well as components with polarity ±, which means "any polarity of this feature is acceptable", and components with a variable polarity.
  5. Within TARGET, a segment or a feature set may be followed by any of ¹ ² ³ ⁴ (these are superscript numerals: hex 00b9, 00b2, 00b3, and 2074, respectively) to label that segment or feature set. CHANGE may then use any of those labels to refer to the matched segment.

For example, the rule intervocalic lenition: [-continuant,-nasal] → [+continuant,±delayed_release,±distributed] / V_V modifies any non-nasal consonant that is surrounded by vowels into a continuant version of that consonant, ignoring the features delayed_release and distributed.

Underlying representations

Place in this section individual words or phrases. You can use the keyboard to assist with Unicode symbols.

Affix rules

The phonological rules treat affixed forms, which are the results of applying affix rules to underlying representations. So if there are 4 underlying representations and 3 affix rules, there are 12 underlying forms for the phonological rules to treat. If there are affix rules, the underlying representations are treated as "stems". The phonological rules also apply to the stems unless the line ExcludeStem is present in the affix rules. If there are no affix rules, the underlying representations are used directly. The affix rules follow the same syntax as phonological rules.


Design and implementation: Raphael Finkel (University of Kentucky), Daniel Kaufman (Queens College, Endangered Language Alliance). The IPA charts are based on these. The table of segments and features is based on Hayes, Bruce, 2009, Introductory Phonology, Hoboken, NJ: Wiley-Blackwell, ISBN: 1405184116, ISBN13: 9781405184113.

Version 2.07