The modern form of そ comes from the cursive form of the kanji 曽 (そ, so, i.e. “formerly”, “once”, etc.). Follow the progression of the different scripts shown in Figures 1 to 3 to understand its origin.
Figure 1. Standard script (楷書, かいしょ, kaisho) of the kanji 曽.
Figure 2. Semi-cursive script (行書, ぎょうしょ, gyōsho) of the kanji 曽.
Figure 3. Cursive script (草書, そうしょ, sōsho) of the kanji 曽.
Figure 4. Calligraphy of the hiragana character そ. Note the corresponding shape with the cursive form of the character 曽.
Figure 5. The word うそ (uso, i.e. “lie”, “Really!”, “Unbeliavable!”) written in Japanese kana (かな) script. The hiragana character う is based on the cursive form of the kanji 宇 (う, u, i.e. “counter for buildings”, also “eaves”, “roof”), which is explained in this article.