Noise Texture Generator: Perlin, Worley, Godot .tres

Pick a noise type, tune frequency, octaves and seed, and download a seamless noise texture as a PNG for shaders, dissolve effects, clouds or terrain. You also get a Godot 4 NoiseTexture2D resource with the closest FastNoiseLite settings, so you can keep tweaking the noise inside the editor. Everything runs in your browser.

Step 1 of 3: Noise type
Which kind of noise?

How to use it

  1. Choose a noise type: Value, Perlin, Fractal Perlin (fBm), Ridged or Worley (cellular), and press Next.
  2. Set Frequency, and for Fractal Perlin or Ridged also Octaves, Lacunarity and Gain. Change the Seed or press New seed for a different pattern, and keep Seamless ticked for a tiling texture.
  3. Pick a size and Grayscale or Two colors, then press Generate noise.
  4. Check the 2x2 tiled preview, then press Download PNG or Download Godot .tres.

What each noise setting does

Frequency here is how many noise features fit across the texture: 4 gives about four blobs or cells from edge to edge, 16 gives fine grain. Godot's FastNoiseLite measures frequency per pixel instead, so the .tres uses this number divided by the texture width (4 across 256 pixels becomes frequency = 0.015625).

Octaves stack copies of the noise at finer and finer scales. Lacunarity is how much the frequency is multiplied for each octave (2 doubles it) and Gain is how much weaker each finer octave is (0.5 halves it). Godot's defaults are 5 octaves, lacunarity 2.0 and gain 0.5, a good starting point for clouds and terrain. Fewer octaves look smoother; a higher gain looks rougher.

Value noise blends random numbers on a grid and looks slightly blocky. Perlin blends random gradients and looks smoother. Ridged folds fractal Perlin so the zero crossings become sharp crests, good for mountain ridges, marble and cracks. Worley, also called cellular noise, is the distance to the nearest random point, which draws cells, scales and caustics.

Using the noise texture in Godot 4

The PNG works anywhere: drop it in your project and assign it to a material or a shader uniform. In a shader, declare it as uniform sampler2D noise_tex : repeat_enable; so UVs outside 0 to 1 keep tiling, and read one channel, for example texture(noise_tex, UV).r, for masks and dissolve thresholds.

The .tres is a NoiseTexture2D resource with a FastNoiseLite noise. Godot generates the pixels itself when the resource loads, so you can change noise_type, frequency, fractal_octaves, seed and the rest in the Inspector and see the result live. Noise types map to FastNoiseLite as TYPE_VALUE, TYPE_PERLIN and TYPE_CELLULAR, with fractal_type set to FRACTAL_FBM for Fractal Perlin, FRACTAL_RIDGED for Ridged and FRACTAL_NONE for the rest.

FastNoiseLite uses its own hashing, so Godot's texture has the same kind and scale of noise as your PNG but not identical pixels. Godot's docs note that its seamless option blends the edges and can lower the contrast; raise seamless_blend_skirt if a seam still shows.

Frequently asked questions

How do I make a seamless noise texture?
Keep Seamless ticked. The generator wraps the noise grid at a whole number of features, so the right edge continues into the left and the bottom into the top. The 2x2 tiled preview on the result shows the joins.
What is the difference between Perlin noise and fractal Perlin noise?
Plain Perlin noise is one layer of smooth blobs at a single size. Fractal Perlin, also called fBm, adds several layers (octaves) at smaller and smaller sizes, which gives the cloudy detail people usually picture when they think of Perlin noise.
Can I use the .tres file in Godot 3?
No. The file uses the Godot 4 resource format and the Godot 4 classes NoiseTexture2D and FastNoiseLite, which Godot 3 does not have. Use the PNG in Godot 3.
Why does Godot show a different pattern than the PNG?
Godot builds the texture from the settings in the .tres with its own FastNoiseLite code, which picks random values differently from this tool. The type, scale, octaves and seed carry over, so the look is close, but the exact shapes differ. Use the PNG when you need this exact image.
Which size should a noise texture be?
For shader masks and dissolve effects, 256x256 or 512x512 is usually plenty, because a seamless texture can repeat across a large surface. Use 1024x1024 when the noise covers the whole screen without repeating.

See all tools