How can I make the pixel art brush snap to the pixel grid?

I’m going for a pixelated, aliased look for my text by drawing text using krita’s built in pixel art brush.
However most of the time when I click a single time to draw/paste the text, it seems to be “smeared” across 2 different pixels in a way (its hard to explain this with words, see image 1)

Sometimes I can get lucky and it pastes only onto the pixels I expect it to, but this rarely happens.
Even when I zoom in and line up my mouse as close to the pixel grid as I can, the text drawn is off, and not where the preview says it would be (see image 2. the green outline above the text is where I expected the text to be written)

Any help is appreciated, or if you know of any other/better ways of doing aliased text like this let me know

:slight_smile: Hello @lemoncannoli, and welcome to the forum!

Sorry for the late answer, I hoped the specialists step in since I don’t do pixel art.
As long as I use the u) Pixel Art with its 1 pixel size preset, I don’t have this issue. Did you perhaps also manipulate its settings in the brush editor?

Michelist

I’m sorry, but I don’t know what you mean by it’s “1 pixel size preset”
When I’m drawing with text, the brush size seems to be relative to the length of the text (249 px), if that’s what you’re talking about
I did have some settings tweaked when I made this post, but the problem still happens after I reset the settings to default

I’m not a ‘specialist’ in this area but I’ll step in anyway. Like @Michelist, I don’t have a problem putting a single pixel anywhere as long as I use the u) Pixel Art brush preset with it’s standard/default 1px size.
The only difficult thing is hand drawing a neat diagonal line but that problem goes away if you disable the Sharpness parameter in the brush settings. (I don’t know why that is, someone might be able to explain why.)

For a brush thickness greater than one pixel, I find it helps to select a square Shape in the brush editor instead of the default Circle shape.

Your screenshot shows a canvas size of 1920 x 1080 which is a very large canvas for drawing shapes that have features a few pixels wide. Your zoom setting looks like it’s high but it’s covered by your screenshot utility window so I assume that is the pixel grid that we can see.

What are the green lines?

Are you using snapping of any kind? (See menu item View → Snap To )

I assume this means that you are copy/pasting images of text characters that already exist. which you may have made yourself.

How are you copying and then pasting them?

There is a way to get a pasted copy placed with pixel perfect accuracy but it would be useful, first, to know what you are doing and how you are doing it.

According to your screenshot, the brush size is set to 249 px. That will have been done by you using the slider on the Toolbar or by changing the Brush Tip: Diameter in the brush editor.

Can you post a screenshot of the Brush Editor window?

There are many thousands of downloadable fonts on many websites that are free for personal use. Somebody may have made a font that emulates/duplicates the effect of tiny aliased ‘digital text’.
If so, it may be a good idea to use that and the vector text facilities in krita.

2 Likes

Hi, I’m not a “pixel expert” too, but…

If I understand well what you did I have to say that I never thought to use this feature this way, cool! :slight_smile:

I’ve managed to achieve a clear aliased (bitmap) font - with one mouse click - changing the “Sharpness” of the “Pixel Art” brush in this way (Strength 50% - no “Enable Pen Settings”):

Sometimes it isn’t ok (seems over some pixels I don’t know why), but if you undo and click to a near pixel it generally works for me, and seems it works more than it fails.


Screenshot 2025-08-21 125336

Unfortunately the preview isn’t accurate, shifted by 1 pixel down or down+right, requires some undo, maybe after you’ll have anyway to move the text where you desire.

You could try a text/code editor, screenshot only the text, paste in a Krita layer, select only the text (not the background)… etc.
I tried “Notepad++” and worked for me.

2 Likes

Very sorry for the really late reply, I’ve been away the past week

When setting the brush to use text, it changes the brush size and does not let me set it back, regardless of whatever I set before it

My settings

The brush preview that replaces/follows my cursor. I was showing how even if I lined it up with the pixel grid, it didn’t paint where I expected it to

I meant paint, I shouldn’t have said paste. What I meant was sometimes I can get lucky and the text gets painted how I’d expect it to (not being smudged across 2 pixels)

I assumed you were manually painting or pasting existing images but you’re using a Text brushtip.

With a Text brushtip, the Size of the brush is the pixel size of the text image you’re using. The longer the text and/or the larger the font then the larger the brushtip image.

Using a Text brushtip, you’re not actually putting ‘text’ onto the canvas. You can only put text on a vector layer. What you’re doing is putting an image of text onto a paint layer.

The brushtip image/stamp will be affected by the Sharpness parameter of the brush preset.

Here are some of my attempts though I used Sans Serif 9 because I don’t have the font that you used:

The faint lines are guides that I made on a separate layer and the brushtip outline cursor was placed up against the upper/left corner in each case.

You can see the cursor outline on the top left ‘fox stamp’. (Ignore the black arrow, it’s an artifact of my screenshot utility.)

The two foxes at the left side are stamped with Sharpness - 100%. Right side upper is Sharpness - 50%. Right side lower is Sharpness - 0%Sharpness - 0% gives the anti-aliased image which is probably how the font was designed. Increasing Sharpness seems to operate a ‘thresholding filter’ effect where pixels are made full white or not-there depending on the Sharpness setting and the pixels value. It’s not an area I know anything about.

I’m surprised that the brush cursor outline doesn’t correspond to the extent of all brushtip image pixels because that’s what I thought it usually did. I’ve no idea why that happens.

The placement offset of 1px does have some variation but I don’t know why. Use of pixel snapping and/or grid snapping doesn’t seem to improve it.

Using ‘ordinary’ text fonts in this way is not how they are intended to be used so I’d start looking for a font that has been created with no anti-aliasing edge fading and which looks good at small sizes.