Spanish Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the Spanish language. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been studying Spanish for many years and a few years ago I started working on an iOS language training app. One of my goals was to build a verb conjugation engine from scratch, along with a trainer. I've compiled many of the rules but now that I'm about to start I realize that I'm no longer familiar with the rules, and I'm not sure if what I have is complete. Does a set of rules exist somewhere so that I can compare to what I already have acquired? -- Second column under Verb Conjugation.

To be more specific, I have categorized some of the present tense irregular verb groups here:

share|improve this question
Creo que los verbos irregulares son irregulares porque no son regulares, es decir no siguen una regla. Si yo tuviera que hacer una aplicación así usaría tablas. – Rafa Sep 3 '13 at 14:51

Some 15 years ago I was working on machine recognition of Spanish sentences, and I figured out several patterns of irregular verb conjugations, which I used to reduce the cases I had to test. I do not have the documents so probably I will miss many of the cases.

Some irregularities are just phonetic assimilation and dissimilation such as huir --> huyendo (instead of literal regularity **huiendo*). Any verb following the same phonetic pattern will behave the same so this should not be regarded as an irregularity but just as a phonetic rule (the same as c/qu in acercar --> acerque). My code recognized this.

Some irregularities have origin in archaic pronunciation rules. The most common are the e/ie and o/ue alternations such as querer-->quiere. Disregarding this alternation querer is otherwise a completely regular verb, so in my system I stored with a different symbol (arbitrarily I used ê: quêr-er) and then I used an algorithm to know if it should be ie (when the stress fell in ê) or e (when the stress felt in other syllable).

While not an orthographic-phonetic rule as c/qu or z/c there are a few verbs that have a similar behavior, such as parecer. The final c in the root (pronounced [T] in Spain or [s] in Latin-America) will change into zc before rear vowels. It is an irregularity as it affects both writing and pronunciation, but from a machine point of view it was handled just as an orthographic issue and then the conjugation was regular.

The next analysis where verbs such as tener. (well, after handling the e/ie issue) The have an odd past tense. It is such as the simple indicative past tense (pretérito indefinido del indicativo) and some subjunctive tenses used another root (tuv-) and the simple past had different conjugation theme: (tuv-e, -iste, -o, compare with regular am-é, -aste, -ó and com-í, -iste, -ió). That theme is also present in caber and estar, among other. (Their subjunctives use the irregular root with regular theme.) Note, however, that most verbs in this category have further irregularities.

Which leads me to caber. Verb caber has a consistent irregularity when the declination has a rear vowel: the whole root changes from cab- to quep-, so present indicative is quepo, cabes, cabe, cabemos, cabéis, caben; and present subjunctive is quepa, quepas, quepa, quepamos, quepáis, quepan. Compared with parecer: parezco, pareces, parece, parecemos, pareceis, parecen and parezca, parezcas, parezca, etc. The same rule to know the c/zc alternace will be used to alternate the whole root. So, caber has three roots: the regular cab-, and the irregular cup- (past tenses) and quep- (present tenses before rear vowels).

Now, there are the complete irregular verbs such as the monosyllabic (ir, ser, estar) and other cases that would be handled with multiple roots, additional conjugation themes, and exceptions.

share|improve this answer

In the paper book Spanish verbs made simple(r) the verbs, regular or irregular, are classified into 35 classes (some with sublasses). At the end of the book, there is a list of 4818 verbs, each assigned to such a class.

share|improve this answer

I recently worked on an Asturian spell checker and Asturian's verbal system very closely resembles Spanish (rather obviously, both being Iberian Romance languages).

In both, the irregularity of a verb presents itself in only a handful of ways, that may overlap in some places:

  • first person singular of the present indicative
    • same stem used in present subjunctive (exceptions: saber/ser/ir/haber/estar)
  • stem changing (alternancia vocálica) in present indicative/subjunctive, and simple preterite, simple pluperfect indicative / imperfect subjunctive)
  • simple preterite
    • irregulars use the “regular irregular” endings (-e, -iste, -o, -imos, -isteis, -ieron)
  • future indicative / conditional

What I did was create these groups and work with them individually. Here's how I laid them out for Asturian, visually (in reality, the first and second plural of present indicative should have a different color because they don't stem-change, but for the way I was processing things, they could be combined in my system) Asturian verb conjugations

The next step was to create a list of irregular verb types (mentioned above), and then process each of the colored groups individually based on those characteristics. For example, the teal shaded boxes are the subjunctive stem which is affected by first person singular irregularities, or, in the absence thereof, by stem changes. The logic then goes for the teal (stem1) and green (stem2) sections:

given verb, tense, mood, person, number

if(tense == pres && 
      (mood == subj || (mood == ind && person == first && number == sing)
) {
    // teal colored boxes
    if(verb has irregularSubjStem) {
        // subjunctive isn't 'just' the so-called opposite ending
        if(verb has uniqueYoForm) return verb's irregularUniqueYoForm 
                                         // ^^ that is, voy/soy/sé, etc
        stem1 = verb's irregularSubjStem;
               // pong/teng/conozc/quep/etc
        stem2 = verb's irregularSubjStem;
      if(verb has stemChange) {
          stem1 = stem's firstStemChange 
               // "duerm", "comienz", "prefier"
          if(verb is IR) {
              stem2 = stem's secondStemChange
                  // "durm", "prefir", "sirv" etc
              stem2 = stem
          stem1 = stem
          stem2 = stem

    if(verb is AR) {
        vowel = e
        vowel = a

    if(mood == ind) return stem + "o"
                            // quep + o, pong + o, comienz + o, nad + o

    // mood is now necessarily subj
    if(person == sing && (number ==  first) return stem1 + vowel
    if(person == sing && (number == second) return stem1 + vowel + "s"
    if(person == sing && (number ==  third) return stem1 + vowel
    if(person == pl   && (number ==  first) return stem2 + vowel + "mos"
    if(person == pl   && (number == second) return stem2 + vowel + "´is"
    if(person == pl   && (number ==  third) return stem1 + vowel + "n"
                                            // ´ should be a combining acute (U+0301)
                                            // otherwise you get, e.g., "ponga´is" 


Note that this code is not remotely optimized nor runnable — I actually was working the opposite way (conjugation → infinitive) for my spell checker so there may be some better ways for going infinitive → conjugation, but it'll work. You could then have a much smaller file of truly irregular forms (present tense indicative ser, for instance).

That said, you still need to come up with methods of looking up what verb is stem changing, what its change is, as well as a number of orthographic changes:

  • verbs that end in -car (-qu-), -gar (-gu-), -guar (-gü-), -zar (-c-), -quer (-c-), -quir (-c-), -guer (-g-), -er (-gu-), -guir (-g-), -ir (-gu-), -cer (-z-), or -cir (-z-)
  • conjugations resulting in an intervocalic -i- (-y-).
  • conjugations resulting in diphthongized -i- after ñ or ll (-i- is elided)
  • verbs that form explicitly indicate presence/absence of hiatus between stem and ending in the present tense singular and third-person plural: envío not *envio, but premia not *premía

If you want to go into adding on object pronouns (for use in commands and, if you're adventurous, very formal Spanish everywhere else), you'll need to factor in the loss of -s or -d in reflexive plural for first and second person (sentémonos not *sentémosnos and fijaos not *fijados as well as marking the accent where necessary. Also, not all object pronouns can go with all verbs. But to go that far, you'd need to also keep a list of the transivity and reflexivity of all verbs, a quite monumental undertaking that even I haven't done for Asturian.

Also, some verbs have multiple conjugations. Off the top of my head, placer randomly has both plació/placieron and plugo/pluguieron but doesn't have plugue/pluguiste/pluguimos/pluguisteis as would be expected. yacer has three subjunctive stems: yazc-, yazg-, yag-. erguir can be either an e→ie or e→i stem changing verb resulting in either irgo or yergo.

Other verbs are only valid in certain numbers/persons/tenses (called "defective verbs") The most common ones exist only in third person (and some only in third person singular) like weather words or acaecer or acontecer. Others like soler can only be used imperfectly (so no preterite or future, etc), or some of the weird -irs like abolir that traditionally are considered to only exist where the conjugation begins with i (so vos/vosotros can abolís, but tú/usted/ustedes can't *aboles, *abole, *abolen. yo can't *abolo, but we can *abolimos). Some of these are changing and becoming accepted, so YMMV. Some are super restricted. abarse only exists in the infintive and imperitive. These are much tougher to deal with and anytime you search for a comprehensive list of defective verbs, you'll always get slightly different answers, but with the exception of soler and weather words, they aren't verbs that the average Spanish learner will use often, or perhaps ever learn.

Needless to say, there's a lot to take into account for a perfect rendition of the Spanish conjugation system, but it shouldn't be remotely as hard to account for what 99.99% of Spanish learners will encounter.

share|improve this answer

The rules are well known as you already see in your link (those endings are correct), but they are only valid for the regular verbs. This rules depend on the ending of the infinitive of the verb: -ar, -er and -ir. However, for the irregular verbs you have to know the specific conjugation. There are verbs that are completely irregular like the verb ir (to go), other verbs however are just irregular in one tense or few tenses and the rest of the conjugation is regular according to the rules of the ending of its infinitive.

share|improve this answer
I get that some verbs are completely irregular. However, there are large sets of irregular verbs that have conjugation rules. They are helpful to know when learning a language. I added another link in my question. – h4labs Jul 31 '13 at 9:54
I see know what you mean. I have never seen charts like that. The common thing is to point to another irregular verb of that group stating that they have the same conjugation rules, and of course, show how this other verb is conjugated. For example, for the verb "hervir", although a conjugation is provided, it also says that it is conjugated like "sentir". – JoulSauron Aug 30 '13 at 11:34

A good reference grammar will give you all the rules. I like "A New Reference Grammar of Modern Spanish: Fifth Edition" (Butt and Benjamin, 2011). The way B&B define the conjugations, there are only 23 irregular verbs. For example, it will tell you that the imperfect subjunctive can be derived from the third-person-singular preterite.

Another source you might check out is "Schaum's Outline of Spanish Grammar: Sixth Edition" (Schmidt, 2014). I don't have it handy, but they usually try hard to make things simpler for students by pointing out useful patterns.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.