Code-mixing occurs when fluent bilingual speakers alternate between languages within a conversation without changes in context. It involves mixing words, phrases, or clauses from two languages together within a single sentence. Code-switching differs in that it involves alternating between complete sentences from two languages. Syntactic categories like verbs and objects can cross language boundaries in code-mixing, suggesting some universal syntactic rules. Speakers code-mix freely but are constrained by sentence structure and syntax.