Spaniard is a noun naming a person from Spain. Spanish is the adjective — Spanish food, Spanish history — and also the name of the language. So: "he is a Spaniard" or "he is Spanish", but never "he is a Spanish". English is inconsistent about this, which is why it trips people up.
The core difference
A noun and an adjective, in a corner of English with no consistent rule.
- Spaniard — noun: two Spaniards.
- Spanish — adjective: Spanish wine; also the language, and the people collectively: the Spanish.
Why the pattern is inconsistent
English has no single rule for nationality nouns. Some use -ish plus a separate noun (Spain, Spanish, Spaniard; Denmark, Danish, Dane; Poland, Polish, Pole). Others use the adjective as the noun (Italian, German, American). Others take -ese and resist a singular noun entirely — "a Chinese" is avoided in careful writing in favour of "a Chinese person".
A note on tone
Nationality nouns can sound blunter than the adjective. "He is Spanish" is neutral; "he is a Spaniard" is correct but reads as more marked, and in general writing the adjective is usually the safer choice.
Frequently asked questions
Is "a Spanish" correct?
No. Use "a Spaniard" or "he is Spanish". Spanish is an adjective and cannot take an article on its own to mean a person.
What do you call people from Spain collectively?
The Spanish, or Spaniards. Both are correct.
Why does English handle nationalities so inconsistently?
Because the forms came in from different sources at different times. Some nationalities have a separate noun, others use the adjective, and some resist a singular noun altogether.