The endings, worked through in full
Regular Spanish verbs drop the infinitive ending (-ar, -er, or -ir) and add conjugation-class endings in the present tense. -Ar verbs take -o, -as, -a, -amos, -áis, -an: hablo, hablas, habla, hablamos, habláis, hablan. -Er and -ir verbs share the same endings everywhere except two forms: comer gives como, comes, come, comemos, coméis, comen, while vivir gives vivo, vives, vive, vivimos, vivís, viven. The nosotros and vosotros rows are the only place the two conjugations actually diverge, comemos/coméis against vivimos/vivís; every other person is identical between -er and -ir.
That split point is narrower than it looks in most other Spanish tenses. The imperfect drops the -er/-ir divide entirely and uses one identical six-form set for both conjugations, no matter the person. In the present indicative, -er and -ir differ in those two plural forms. Their infinitive markers differ: -er versus -ir. Regular participles instead share -ido, as comido and vivido illustrate.
Why the present doesn't get an audible time marker at all
Spanish grammar breaks a conjugated verb down into a root and a desinence. In one common analysis, that desinence has three segments: the thematic vowel marking conjugation class, a segment coding tense-aspect-mood, and a segment coding person and number. In a tense like the imperfect, that tense-aspect-mood piece is a real, audible chunk of the word: the -ba in hablaba marks the imperfect, following the thematic vowel -a, as -ré marks future tense in one analysis of hablaré. The present tense doesn't have an equivalent chunk. Real Academia Española's own glossary of grammatical terms describes this analysis using a morfema cero: an unpronounced element representing present tense. This is a grammatical model, not a separate sound that learners must produce.
That absence is genuinely debated at the edges, not a clean rule RAE hands down without qualification. The academy's own reference grammar notes that a form like habla can't always be cleanly split into its three theoretical pieces; some analyses treat the ending as one fused chunk carrying all three jobs at once, others posit an unpronounced zero morpheme sitting inside it. What isn't in dispute is the practical upshot for a learner: unlike the overt tense marker in hablaba or hablaré, nothing in a present-tense ending exists purely to announce "this is the present tense." The endings do that job by not adding anything extra at all. That unmarked present-tense ending is still a fully personal, conjugated form, which is exactly what separates it from the Spanish infinitive: hablar itself carries no person, tense, or mood marking whatsoever, a nonpersonal form rather than a personal present-tense conjugation.
The -go verbs: consonant insertion in the stem
A long list of common verbs look irregular only in the yo form, and end in -go: tengo, salgo, pongo, vengo, valgo. Per Real Academia Española's own reference on consonantal irregularities, this isn't a random pattern; it's a documented sound insertion, called epenthesis, that shows up in verbs whose root ends in -l (salir → salgo, valer → valgo), -n (poner → pongo, tener → tengo, venir → vengo), -s (asir → asgo, a rare verb), -i (oír → oigo), or -z (yacer, an archaic verb for "to lie [down]," which the RAE itself says admits three accepted yo forms, yazco, yazgo, and yago, with the -go and -zc- patterns competing side by side). Caer and traer, and the rarer raer and roer, take a slightly different version of the same insertion, adding -ig- rather than a plain -g-: caigo, traigo. Within the present indicative, the -g- insertion appears in yo. Some of these verbs also have vowel changes elsewhere, as in tienes and viene, and the -g- stem extends into the present subjunctive (tenga, venga).
Six verbs sit outside even this pattern because their yo forms don't end in a plain -o at all: soy, estoy, voy, doy end in -oy, sé ends in -é, and he doesn't take an -o ending at all. Those six are also the ones whose irregularity carries straight through into the subjunctive, since the subjunctive stem is normally built by stripping the -o off the present-tense yo form. For consonant insertion, the guide to irregular Spanish verbs classified by root type discusses conocer → conozco and conducir → conduzco. Those examples illustrate a consonantal change; they do not provide a complete list of -go forms.
Spelling swaps that protect a sound, and stem changers that don't touch the ending at all
Two more yo-form changes look like irregular endings but are really just Spanish spelling protecting a consonant sound. Coger keeps the soft "kh" sound of its g by switching to j before the -o ending: cojo, not the misspelled cogo, which would harden the g into a "hard g" sound that isn't there in the rest of the verb (coges, coge). Vencer does the same for its soft c, switching to z before -o: venzo, not venco. Neither change touches the ending itself, -o is still -o, it just adjusts one consonant so the verb keeps sounding the same across its whole paradigm.
Stem-changing verbs, the "boot verbs" like pensar (pienso), poder (puedo), and pedir (pido), take the exact endings covered above with no modification at all; only the stem vowel shifts, and only outside the nosotros and vosotros forms. Pensar's full present is pienso, piensas, piensa, pensamos, pensáis, piensan, regular -ar endings throughout, with the diphthong appearing and disappearing depending on where stress falls in the word. That distinction, a changed stem versus a changed ending, is the same one that separates real irregular endings from what only looks like one, and it's worth keeping straight before assuming every unfamiliar present-tense form belongs to a different endings set entirely.