I had to figure this out on my own one time, with nothing but ms paint... and I did it.
I was trying to make a tileable background image that looked like billet aluminum. I read a tutorial on how to get the metal look (it was just taking grey, putting noise in it, and doing a motion blur at a 45* angle)
But then when you tiled it, the grains would not line up.
So what I did was pretty complicated, but it worked.
Step 1 was to divide the square section diagonally and copy one half. Then flip that half (triangle) horizontally, and then rotate it 90* such that it lines up with the other, untouched half. This is the important part, flipping and then rotating 90* is NOT the same as flipping horizontally and then flipping vertically!
Then merge that filpped and rotated half over the remaining untouched one, replacing it. Now you have a line of symmetry running diagonally along the square.
Now do the same thing again, but this time make the diagonal cut perpendicular to the first. Now you will have two lines of symmetry that make an X.
Then, I cropped the square into a diamond shape (perfect square rotated 45* really). The verticies of the diamond are dead center on each side of the square, so you basically cut a small triangle off of each corner of the square to achieve a diamond shape.
Then, you take that shape, and reproduce it 4 times, putting one copy on each of the 4 sides of the diamond. So you will have a fat X pattern, kind of like a tic tac toe board rotated 45 degrees.
Finally, you will crop this shape into a square that is centered at the center of the X assembly, adn extends as far as it can before it hits the verticies of the X (where the image and background interface)
So it looks like this:
where the black is the 5 copies taht I explained earlier, and the red is what you are now cropping.
There may be some fine tuning that you will have to do after this (get rid of a column or row of pixles here and there, and if you are using a more complicated patter for the background itself, you may have to edit those "lines of symmetry" to make them flow, but the point is, each edge lines up perfectly with the edge opposite to it, so it can be tiled.
This is alot more complicated than if your program does it all for you, but its what worked for me.
HTH