Quick answer: Seams appear when the camera sits between pixels and the GPU samples the neighbouring tile in the atlas. Use Nearest texture filtering for pixel art, keep Use Texture Padding on in the TileSet atlas, disable mipmaps, and enable Snap 2D Transforms to Pixel. Avoid non-integer zoom for pixel art.

Standing still, the level looks perfect. Start moving and one-pixel lines flash between tiles, or the whole map shimmers. This is a sampling problem, not a TileMap bug, and it has a standard set of fixes.

Why it happens

Tiles come from one atlas image. When the camera position or zoom is not a whole number of pixels, a tile's edge is drawn between screen pixels and the GPU samples a little past the tile's region — into the neighbouring tile or transparent space. That sliver shows up as a line, and because the fraction changes as the camera moves, it flickers.

Fix 1: texture filtering

For pixel art, set Project Settings > Rendering > Textures > Canvas Textures > Default Texture Filter to Nearest. Linear filtering blends neighbouring texels, which is exactly what creates the seams. You can also set Texture Filter per node.

Fix 2: texture padding

On the TileSet's atlas source, keep Use Texture Padding enabled (the default in Godot 4). It adds a one-pixel border around each tile, copied from the tile's own edge, so slight over-sampling picks up the right colour. If you turned it off to save memory, turn it back on.

Fix 3: pixel snapping

Under Project Settings > Rendering > 2D enable Snap 2D Transforms to Pixel (and, if needed, Snap 2D Vertices to Pixel). This keeps sprites and tiles on whole pixels.

Fix 4: integer zoom and camera smoothing

A Camera2D zoom of 1.5 guarantees fractional pixel positions. For pixel art use integer zoom (1, 2, 3), or render at a base resolution with Stretch Mode: viewport and scale the whole image. Camera position smoothing also produces fractional positions; with snapping enabled this is fine, without it you will see shimmer.

Fix 5: mipmaps

If the atlas texture was imported with Mipmaps > Generate on, zooming out samples lower mip levels where tiles blur into each other. Turn mipmaps off in the Import dock for tile atlases and reimport.

If it is flicker, not lines

Whole tiles appearing and disappearing, rather than thin lines, usually means two tiles or layers are drawn at the same position with the same z-index, or the camera is updated in a different process callback than the player. See process vs physics jitter.

Related fixes