It was first used in English in the 17th century and is a combination of the Latin prefix "in-" meaning "not" and the Italian word "promptu" meaning "ready" or "prepared".
Therefore, "impromptu" literally translates to "not ready" or "not prepared".