Give this a spin: example() Func example() Const $ALPHA_STRING = "aBc" Local $aChars = StringSplit($ALPHA_STRING, "") Local $iNbrOfChars = $aChars[0] Local $sString = "" For $i = 0 To (2 ^ $iNbrOfChars) - 1 ;Loop thru iterations (base2 000, 001, 010, ... 111) $sString = "" ; Initialize string For $j = 0 To $iNbrOfChars - 1 ; Loop thru chars