It’s hard to tell without seeing the actual texture (always show the texture and UV when asking for help with textures) but it looks like your UVs are bleeding into a black background. Give more margin for the UVs as a buffer.
You should probably make your UV islands smaller, or it’d be much more efficient to group all your UV islands to the same UV space based on colour. You could do this with a 64x64 texture, honestly.
Which might seem clean, it really isn’t. You need a margin or else textures bleed into the neighbouring UV islands.
However, if you aren’t using any PBR (normal, spec, etc maps), and just need a flat colour, go the route of laying UV islands on a kind of simplified trim sheet:
Just layer all the UV islands to their appropriate colour, and give plenty of margin room. This isn’t always going to be the solution though, it just lends itself well to pixelated art styles - just something I’ve done in the past that works Well Enough while prioritizing optimization because the textures they use are incredibly small (64x64, or 32x32, though I wouldn’t go lower and 64x64 is plenty small).