This online calculator can generate all set partitions for a given set. A partition of a set is a grouping of the set's elements into non-empty subsets in such a way that every element is included in exactly one subset. Thus, the subsets' union is equal to the original set, and the intersection of any two subsets is the empty set.
Please note that the generation of all partitions is a combinatorial task, and a number of all possible partitions grows very rapidly with the size of a set. In fact, this number is pre-calculated and is knows as the Bell number. Thus, for a set of size 6, the Bell number is 203, and the Bell number for the set of size 12 is 4213597. For more Bell numbers, you can check out the Bell triangle calculator.
The algorithm is based on an enumeration algorithm for restricted growth strings aka restricted growth functions. For more information, check out Restricted Growth Strings Generator. Since partitions generation is done inside your browser, be cautious with big sets - you probably would not want to add more than 10 elements in a set unless you have a really good computer.