We study the optimal way of creating bi-partite entanglement using a general two-qubit in teraction. On the one hand, we analyze the entanglement capability of an arbitrary non-local Hamiltonian acting on two qubits. We explicitly calculate the state which maximizes the entangle ment produced per time step 81 during the non-local evolution. On the other hand, we determine the maximal amount of entanglement which can be produced by an arbitrary two-qubit gate. We also give the separable state which leads to the output state containing this amount of entanglement. Furthermore, we consider the situation where auxiliary systems are present. Finally, we determine the non-unitary processes which are able to create entanglement from an initially separable state of two systems.