They are definitely not interchangable.

Trying to literally translate them to English you would end up in

> kio = what

> kiu = which

A rule that I find quite useful is

*If it stands with a nounish word, it's "kiu", if it stands independently it's "kio".*

Example:

> **Kio** estas en la skatolo kaj **kio** estas sur la tablo?

> En la skatolo estas skribiloj kaj sur la tablo estas unu skribilo.

As opposed to

> **Kiuj** *skribiloj* estas en la skatolo kaj **kiu** *skribilo* estas sur la tablo?

In the first example "kio" stands indipendently and in the second example it stands together with the noun "skribilo(j)". According to the form of the noun, "kiu" also takes the plural and accusative markers.

What is sometimes confusing is, that you'd drop the noun that stands with "kiu". For example again the above dialog


> **Kio** estas en la skatolo kaj **kio** estas sur la tablo?

> En la skatolo estas skribiloj kaj sur la tablo estas unu skribilo.

> **Kiuj** estas en la skatolo kaj **kiu** estas sur la tablo?

The answer to the first question made it clear, that we are talking about several pens in the box and one pen on the table. So in the followup question we can drop the noun, because we can assume it out of the context.

So in order to "kiu" to be able to stand alone there has to be a clear context, which noun it is refering to. If there's no such context it is usually assumed that one is talking about a person.

> **Kio** alvenis? (What has just arrived)

> Aŭto.

> **Kiu** sidas en la aŭto? (**Who** is sitting in the car?)

> Mia patro kaj lia hundo.

If you ask

> **Kio** sidas en la aŭto?

a possible answer would be

> Persono kaj hundo.

> **Kiu** hundo sidas en la aŭto? (Which dog ...)

> Tiu de mia patro. (My father's one)


The corresponding -io and -iu words behave similarly.