Built from Michael Morales’s own numbers — record, form, fighting style and standout rate. Not reported prose. Power striker
6' 0" orthodox power striker campaigning at Welterweight. 7 UFC wins — 5 KO/TKO, 2 decision. Top 6% of Welterweights: lands 5.68 significant strikes a minute and stuffs 89% of the takedowns tried on him.
The facts, plainly — vitals and record from public UFC statistics; nickname, nationality, hometown and camp from the public fighter register. A field we can't source stays “pending”; it never shows a fake value.
| Nickname | pending |
| Nationality | Ecuador |
| Hometown | Machala, El Oro |
| Fighting out of | Entram Gym |
| Height | 6' 0" |
| Reach | 79.0" |
| Stance | Orthodox |
| Age | 27 |
| Date of birth | Jun 24, 1999 |
| Weight | 170 lbs. |
| Pro record | 19-0 |
| Finish split | 7 UFC wins — 5 KO/TKO, 2 decision |
Career averages over Michael Morales’s UFC bouts, straight from public UFC statistics — the same eight numbers on his official record. These are the source’s figures, not our read: what we make of them is the card below.
Six 0–100 scores, each a percentile rank against the Welterweight field — not against the whole roster. Tap any i for what a score measures.
We have not called one of Michael Morales’s fights in the live 2026 season. What we do have is back-tested, and it is labelled as such.
Across our full back-tested history we called 5 of Michael Morales’s fights, 5 correct. Back-tested, not part of the public timestamped record: these were computed after the fact, so they show the model working on old cards — they were never published ahead of those fights.
Where the strikes go — and where they land on him. Career UFC totals, straight off the tape.
Significant strikes only, as recorded by UFCStats, across the fighter's whole UFC career. Shares are raw counts — nothing here is modelled or smoothed. Accuracy is landed ÷ attempted and comes from the per-round tape, which covers slightly fewer fights than the totals do. “Field” is the average fighter in that weight class, or across every division where a class is too small to average.
The level change — how often it lands, how often it is stopped. Career UFC rates, straight off the tape.
Rate bars run to the population’s 95th percentile (4.97 takedowns / 15m); a fighter above it pins the bar. Percentages are drawn on their own axis.
Career UFC takedown rates exactly as UFCStats publishes them: takedowns landed per 15 minutes, completion rate, submission attempts per 15 minutes, and the share of takedowns tried on them that they stuffed. Attempts per 15 is the one derived figure — landed ÷ completion rate — and it is omitted wherever either input is missing. UFCStats writes 0% where no attempt was recorded at all, so a percentage of exactly zero reads “n/a” here rather than as a measured rate. “Field” is the average fighter in that weight class, or across every division where a class is too small to average.
Pro record: 19-0. In the UFC: 7-0. Michael Morales’s last 7 UFC bouts, most recent first — the result in the cage, not our pick.
Straight off the official UFC fight record. Card names are left off on purpose: the only event labels in our data are derived, and we’d rather print nothing than print one that’s wrong.
| Date | Opponent | Method | Rd | Event | |
|---|---|---|---|---|---|
| 2025-11-15 | W | Sean Brady | KO/TKO | R1 | UFC 322: Della Maddalena vs. Makhachev |
| 2025-05-17 | W | Gilbert Burns | KO/TKO | R1 | UFC Fight Night: Burns vs. Morales |
| 2024-08-24 | W | Neil Magny | KO/TKO | R1 | UFC Fight Night: Cannonier vs. Borralho |
| 2023-11-18 | W | Jake Matthews | Decision (unanimous) | R3 | UFC Fight Night: Allen vs. Craig |
| 2023-07-01 | W | Max Griffin | Decision (unanimous) | R3 | UFC Fight Night: Strickland vs. Magomedov |
| 2022-07-30 | W | Adam Fugitt | KO/TKO | R3 | UFC 277: Pena vs. Nunes 2 |
| 2022-01-22 | W | Trevin Giles | KO/TKO | R1 | UFC 270: Ngannou vs. Gane |
Every date links to that bout’s own page. Card names come from the official event record; where the UFC ran two cards on one date, or that record has no row for it, the Event column is left empty rather than filled with a guess.