I think adobe Photoshop is best for creating seamless texture.
Years ago, seamless textures were used primarily for desktop wallpaper and web page backgrounds. Today, high resolution textures are used for a variety of design applications including 3D texture mapping. This tutorial will show you how to create your own seamless texture from a digital photograph.
1)Selecting a Photograph
2)Resize the image
Select Image > Image Size. Now enter width and height.
3)Offset the Image
We will now “offset” our texture into four equal parts. The offset is what allows the image to repeat (or tile). From the top menu bar select Filter > Other > Offset.
The offset image clearly has a vertical and horizontal “seam”. We will eliminate those using the Clone Tool. But first, lets even out the color a bit.
4)Duplicate the Layer / Set Blend Mode
Now duplicate the layer and change the top layer’s blend mode to “luminosity”.
5)Adjusting Color with High-Pass Filter
From the top menu bar, click Filter > Other > High Pass. Enter 18.0 for the Radius. You can experiment with different radius settings. I normally use a setting between 15-20 depending on the image. The lower the number the more drastic the change.
6)Removing the Seams with the Clone Tool
With the clone stamp tool (formerly known as the rubber stamp tool), you can copy, or clone copies of a portion of an image and paint them onto any other part of the image. The size of the area copied depends on the brush size you select from the brushes pop-up menu on the tool’s options bar.