#C, 64 bytes Call `f()` with the string to square. m;f(char*s){for(m=sqrt(strlen(s));*s;s+=m)printf("%.*s\n",m,s);} [Try it on ideone](http://ideone.com/bQlPa9).