Skip to Content

How to Acid Stain Interior Concrete Floors (step-by-step)

I have always loved the look of stained concrete floors. But between acid stains, water-based concrete stains, and concrete paint, there are a lot of confusing choices. So, I decided to learn how to stain interior concrete floors.

How to stain an interior concrete floor:

  1. Remove baseboards
  2. Tape off the room with plastic sheets
  3. Sand the concrete surface completely using an electric floor sander
  4. Wash & rinse the floor
  5. Allow the floor to dry
  6. Spray on the acid stain with a backpack sprayer. You can apply multiple coats waiting 2-3 hours in between.
  7. 2 hours after the last coat, neutralize the acid with TSP and water
  8. Rinse the floor thoroughly
  9. When dry, add acrylic-based sealer (which can also be tinted with acrylic paint)
  10. Wax the floors

There can be a lot of confusion about how to stain interior concrete floors!

Should I use an acid stain or a water-based stain? Do I need to “etch” my floors? How do you etch a concrete floor? Can I buy stain for concrete floors at places like Home Depot?

As I educated myself, that included watching dozens of videos, talking to people, and going to countless stores.  In the end, I determined that an acid stain would work the best.

In this article, I’m documenting every step of the way (including my mistakes). So, let’s get into the details of each step of staining a concrete floor.

So let’s review my . . . 

Step-by-step instructions on How to Stain Interior Concrete Floors

STEP 1 – Prep Your Floors & trim

You’ll likely want to remove the baseboard trim in your room if it’s touching the floor.

If it’s off the floor (like mine was due to there being the fake wood floor initially), you can just use painter’s tape to tape off the baseboards.

If you opt to remove it, use a pry bar to gently pull it away from the wall which should leave it intact and allow you to reattach rather than replace it.

TIP: On a piece of painter’s tape, mark each board as to which wall it goes on.  If one wall has multiple boards, mark each section going left to right (ie: west wall section 1).

With baseboards done and the room empty of all furniture and/or appliances, now we need to sand the floor.

If your floors are near perfect and don’t have any excess residue, paint or other things that would make your floors look less than perfect you can skip the sanding.

I rented a floor sander (click to reserve yours on the Home Depot website) from Home Depot.

This thing does kick up a lot of dust so I got plastic sheeting and tried to separate the rooms I was doing from the rest of the house and to hide the kitchen cabinets and countertops.

how to stain interior concrete floors Middle Class Dad plastic sheets up on the walls before sanding

TIP: Make sure you wear a dust mask or respirator and safety goggles (click the links to see current Amazon prices)!

You want the floors to be relatively smooth and to remove any sealer, glue or wax that could have been on there.

In my home, the original slab was obviously not totally level so they had used some kind of leveling compound. This looks and feels similar to concrete but was rougher and applied in patches so it was easy to spot.  Know going into the process that this will not stain as dark as the rest of the concrete.

You can see some of the leveling compound on my floors in this shot.

how to stain interior concrete floors Middle Class Dad leveling compound showing

If it’s a thin layer you could scrape it off (it flakes up fairly easily) or in the staining concrete process, you could reapply stain to this part more than the rest of the floors.

But the beauty of stained concrete floors is the imperfections!

Just go through the entire room with the sander smoothly, evenly and a little slowly.

The sander I rented did come with a vacuum as part of it which did help with dust and as much dust as this kicks up, every little bit helps!

how to stain interior concrete floors Middle Class Dad floors sanded before cleaning

You’ll notice my stove there.

I did eventually move it before the staining process but since I knew that floor would never be seen and the rails to hold the range in place were attached to the concrete, I did not sand that area under it.

STEP 2 – Wash and dry your floors

Once your floors are sanded, you’ll need to thoroughly clean your floors. I started by vacuuming the excess dust first.

Here are my floors after washing, rinsing, and being allowed to dry.

how to stain interior concrete floors Middle Class Dad floor prepped for stain

TIP: Also realize that the plastic sheets will have dust on them now too, so either wipe those down (before you vacuum the floors) or change them out so you don’t have excess dust falling onto your new beautiful stained concrete floors!

Once free of dust, you’ll want to mop the floors with a mixture of water and TSP (Tri-Sodium Phosphate).

That’s a big word, but it’s easy to find at places like Home Depot. This is just a mild cleaner/degreaser that is prepping the floors for the staining process.

I let it sit on the floors for 20 minutes and then began to scrub with a long-handled scrub brush before mopping it up.

TIP: If you rented that sander from Home Depot you can also use that with a scrubber pad to make the cleaning go faster.

Use a wet/dry vacuum to vacuum everything up.

You don’t want any TSP residue left so you’ll repeat the mopping process 2 or 3 times with just warm, clean water to make sure the floors are totally clean.

TIP: If you find that when they textured the walls of your home they sprayed excess texture onto the concrete, this needs to come up but doesn’t come up easily.

I bought a long-handled scraper and also used paint remover to try and get as much of that up as possible.

The more you get up the better the results.

In some cases, contractors also spray paint words onto the floors as notes.

This doesn’t come up easily either, but you may also like the modern/industrial feel it creates also. If you do want to get it up a combination of paint remover and a power sander (again rented at Home Depot) can usually do the trick with some elbow grease!

Ready to jump right in? Get my recommended list of tools from Amazon Prime (click to see the list on my site) to get going on your project!

STEP 3 – How to Stain Concrete

I used a backpack plastic sprayer (click to see the current price on Amazon) I bought on Amazon.

This is the same type of pump sprayer used for spraying bug spray around the outside of your house. I used a figure 8 pattern motion not staying too long in any one place and overlapping my sprays to apply the stain.

While you can pay less for a handheld one, the backpack model keeps your hands free and allows you to stand more upright, saving your back!

Here are my stained concrete floors after 1 coat of stain.

how to stain interior concrete floors Middle Class Dad 1st coat of blue stain

TIP: No matter what sprayer you use, if you’re using acid stain, make sure the sprayer has no metal parts! These can dissolve and burn you in the process.

You can use that same long-handled scrub brush to go behind yourself and scrub the stain in using a circular motion.

After 3-4 hours if you decide you want the stain to be darker, go ahead and do a 2nd pass of spraying the stain. Just bear in mind that the floor will look different (and lighter) once totally dry, sealed, and waxed.

Here are my stained concrete floors after 2 coats of stain.

how to stain interior concrete floors Middle Class Dad 2nd coat of blue stain

STEP 4 – Neutralize the acid on your stained concrete floors

Once your stained concrete floors look great and you’ve allowed the last coat of stain to dry at least 2 hours, we need to neutralize the acid.

We do this easily by simply mixing more TSP and water and mopping it on and scrubbing it in; pretty much just like when we cleaned the floor earlier.

TIP: During most of this process I wore old socks I didn’t care about. In the event you’re walking on wet stain or sealer this is less conspicuous than a footprint from a foot or shoe

STEP 5 – Rinse the floor and allow it to dry

Rinse with water only enough times to completely remove any residue. Use your wet/dry vac to suck up all the extra water.

After the neutralizing rinse of your floors, it’s imperative that you make sure your floors are totally dry before sealing them.

I personally waited for a good 8 hours.

If you don’t wait long enough you risk the sealer coming out cloudy. Take a piece of painter’s tape and stick to the floor.

If the floor is dry you’ll have to pull it up. If the floor still has moisture it won’t stick fully to begin with.

STEP 6 – Seal your new stained concrete floors

I used Chem Coat stain, sealer, and wax products on my floors. It’s not an affiliate link but you can see all their products on their website

Refer to their color charts on stain for concrete floors below.

I went with the Aqua Mist color although in hindsight I would select a darker color as I think it would have done a better job of hiding some of the imperfections better. One of the brownish-red colors would likely be the best choices.

how to stain interior concrete floors Middle Class Dad Chem-Coat reactive stain color chart

TIP: If you use acrylic concrete sealers as I did, you can mix acrylic paint in with it to enhance the color of the floors.

Here are my floors after 2 coats of stain and 1 coat of sealer with added color.

how to stain interior concrete floors Middle Class Dad colored sealer added to the concrete floor stain

Rinse out your sprayer from the stain.

Then simply put your sealer (and acrylic paint if using) into the sprayer. Coat the floor in the same manner as you did the stain.

You can apply multiple coats of sealer but allow about 45 minutes in between each for it to dry. Any areas that look less glossy than others just give an extra coat to just that area.

STEP 7 – Wax your stained concrete floors

Once your stained concrete floors are totally dry from stain (about an hour), the final step is simply to wax.

Spray one coat of wax (again using that handy sprayer) and allow it to dry for 1 hour. THEN remove all painter’s tape and plastic sheets from the wall. These may have dust, sealer, or stain which we don’t want falling onto wet wax.

Here is the finished project with our furniture back in place!

how to stain interior concrete floors Middle Class Dad dining room floor stained turquoise blue

Then go through your floor thoroughly with a vacuum and/or broom. Lastly, do 1 more coat of wax and you’re done!

You can walk on the floors after about an hour. But wait a full 24 hours before moving any furniture or appliances back onto the stained concrete floors.

Frequently Asked Questions

Can you stain concrete floors?

Yes. You can use either an acid-based stain or a water-based stain on concrete. Acid-based stains will soak into the concrete, whereas water-based stains will be a paint-like coating on top of the concrete. Acid-based stains typically give better results.

That being said, you don’t want to try and stain brand new concrete.

So if your floors were recently poured, you want to wait at least 30 days after they were poured before you stain. You can also stain concrete overlays, which is a layer of concrete poured on top of another foundation or flooring.

One big challenge I ran into, however, was with the leveling compound that was used to even out my slab.

I didn’t really understand what that was or exactly how it worked. But while it did absorb the stain color, it was noticeably different from the rest of the plain concrete.

In retrospect, I would probably have laid down a thin overlay of concrete on the whole floor.

Then I would have waited 30 days and stained the whole thing. While stained concrete is supposed to look a little random and not perfect, I would have been happier with the end results.

Do you have to sand concrete before staining?

For water-based stain, you do not have to sand if the concrete is perfectly smooth. For rough concrete, or if using acid-based stain, do sand the floor with a floor sander.

In my case, the concrete had spots where leveling compound was used. It also had places where construction workers had spray-painted words. Lastly, it had a few spots that just looked off.

I just felt that the final result would look better if sanded.

So I rented a disc sander from Home Depot that you push around like a vacuum cleaner. The biggest downside, as you can guess, is that it kicks up a LOT of dirt.

So make sure to wear a respirator mask, and use plastic sheets to tape off that room from the rest of the house.

But even doing that, there was still a layer of concrete dust on EVERYTHING. So if you can avoid it, that’s a great thing! Just make sure to check how porous the floor is as you might need to etch it, even if you don’t need to sand (more on that below).

Do I need to seal stained concrete?

Yes. Sealing stained concrete helps protect the floor and the stain, and should be done after staining once the stain is dry, and then again every few years. If using an acrylic-based sealer, you can also mix a small amount of acrylic paint to tint the sealer.

If you’re staining a garage or work area, maybe you don’t. But if it’s your home or office or somewhere you want people to see and admire the beauty of stained concrete floors, take the time to seal it after staining.

After all, with all the work that can go into the sanding, cleaning, etching, and staining interior concrete floors, the sealing is actually pretty darn easy.

I used a water-based acrylic seal.

I simply washed out the backpack sprayer I used for the stain and poured the sealer into that. Then I walked around (in socks I didn’t care about), spraying the sealer in a circular motion all over the stained (and dry) floors.

I applied 2 coats of sealer. Because the sealer was acrylic, I was also able to add some acrylic paint to it (a couple of tablespoons per gallon of sealer) to deepen the color.

But applying 1 coat of sealer maybe took 15 minutes. So do it. It’s worth it and not hard.

How often do you seal stained concrete?

Add more sealer to your stained concrete floors about every 1 to 3 years depending on how much traffic the floors get.

In a place like Whole Foods, for instance, they re-seal the floors probably twice a year. But they get tens of thousands of people a week walking on them.

For the average home, every 2 years is probably just fine.

But you can also base it on how the floors look; no harm in doing a new seal before the official time is up. Do know, however, if you added wax on top of the sealer, you will need to stip that off before adding a new layer of seal.

Ultimate Floor Finish & Wax Stripper (click to see current price on Amazon) is an easy way to get rid of any old seal or wax so you can reseal fresh!

It’s quick, easy, non-damaging, safer than ammonia, and is non-hazardous. Great reviews too!

Can I buy stain for concrete floors at Home Depot or Lowes?

You can buy water-based concrete stain at Home Depot or Lowes. However, neither store sells acid-based concrete stain. Seek out a dedicated concrete floor supply company for acid-based stain.

Non-acid concrete stain is more like painting the surface of the concrete.

It sticks and covers the surface but doesn’t penetrate the concrete and change the color of the concrete-like acid stain does.

The biggest issue with that from what I saw was wear and tear.  I didn’t want to have to repeat the process every year or two as the “painted” stain wore off.

So while you will see concrete stain on the shelves at your favorite big box hardware stores, you don’t want to buy non-acid stain.

So Google contractor supply or concrete stain supply in your area and you’ll find some small local stores that have what you need.

Ready to jump right in? Get my recommended list of tools from Amazon Prime (click to see the list on my site) to get going on your project!

Why would you want to stain your interior concrete floors?

Staining interior concrete floors works well when the need for durable, low-maintenance flooring exists, such as with large pets, or multiple children. They require very little to keep clean, and rarely need to be touched up or restained.

If you have pets or messy kids you’ve experienced the pain of constantly dirty carpets or having to hire carpet cleaners throughout the year.

Laminate floors look great when they’re first installed. But pets and kids can have them looking terrible very fast.

If you live in a house on a slab (as opposed to what they call pier and beam where there is a crawlspace under your house) it’s relatively easy to do stained concrete floors.

In my house, we had cheap Pergo-type fake wood flooring.

Every time my daughters dropped an ice cube it seemed like the floor would bubble up a little.  We also had a leak at the back door every time there was a bad rain.  So, after a year of living in our home, the floors looked pretty terrible.

You can see some of the warping towards the top end of this shot.

how to stain interior concrete floors Middle Class Dad warped laminate flooring

I knew I loved stained concrete floors and I had lived in a loft once in Oakland that had those.

But I wondered how to stain concrete? Was staining a concrete floor something I could do myself? Or would I have to spend thousands of dollars I didn’t have??

Is stained concrete slippery?

Stained concrete, especially when wet, can be slippery. That is especially true compared to wood, carpet, or ceramic tile. However, a small amount of sand can be added to the sealer to make the floor more slip-resistant.

That being said, if you’ve ever walked on granite or marble, it’s not going to be any more slippery than that. It also goes without saying that water on the floor can make it be even more slippery.

I’ve never tried it, but I do know some people have added a little bit of sand to the floor before sealing to give it a little bit of grit. That can help it be less slippery.

Technically, it’s not sand like from the beach.

Instead, it’s silica-based sand, in particle sizes ranging from 4 to 270 mesh. Ironically, the larger the number, the smaller the particle size.

The silica sand is either added to the sealer or spread around on top of the sealer while it’s still wet. Personally, I think adding it to the sealer before applying makes the most sense. As otherwise, you’ll have to walk on the wet sealer to sprinkle around the sand.

Sand with a mesh number of about 90 and above is what is most commonly used on top of concrete sealer.

Can wood stain be used on concrete?

Some people also ask Can Wood Stain be Used on Concrete (click to read more on my site)?

The short answer is yes, but it may not produce ideal results. Dive in deeper in a newer post of mine where I cover that question in-depth. Just click the link to read that on my site.

If you opt for acid stain just know that at least in my visits to places like Home Depot or Lowe’s, they DO NOT sell acid stain.

So to buy stain for concrete floors, I had to find a local concrete stain dealer.

There were plenty and most will sell to consumers as well as professionals.  Just Google or Yelp to find them in your area.

The process of “etching” the concrete is essentially prepping your concrete to be porous enough for the stain to soak in.

You can easily check your concrete by pouring some water (less than a cup) onto the floor and spread it around a little by hand and see if most of it doesn’t soak into the concrete over the course of a few minutes.

If it does soak in, you can skip the etching part.  Etching isn’t hard if you do need to do it, it just adds an extra step.

Also, know that in the event your concrete is new, you should always wait at least a month after new concrete is poured before attempting to stain it.

This cool video shows you the entire process of staining a concrete floor from start to finish.

How much does it cost to stain concrete floors yourself?

To stain concrete floors yourself, you can spend as little as $500. That will include the stain, cleaning products, sealer, wax, and equipment, both purchased and rented.

So, that includes renting the sander from Home Depot and buying the cleaning products, acid stain, acrylic sealer, and wax. Obviously, my labor on staining a concrete floor was on the house!

Costs may vary on materials in your area and may go up over time. There’s a popular website out there that claims staining concrete yourself can cost thousands of dollars. But I literally did my floors for $500 and a lot of elbow grease.

But suffice to say that doing the floors yourself will save you a bundle overpaying a pro to do it!

The average pro would charge around $4.00 per square foot. But issues with slab or complexity of design can increase that significantly.

So in my kitchen and dining area, with a total of about 500 square feet would have cost me $2,000 or more, so I saved considerably by learning how to stain interior concrete floors myself.

While you can definitely hire a professional and could get better results that way if you’re like me, you don’t have an extra $2-3k laying around.

So, with a little hard work and just a few hundred dollars in materials, you can get stained concrete floors yourself that will look great.

More importantly, your new stained concrete floors will be durable, long-lasting, and be a great discussion piece when guests come over.

Everyone will want to know how you got those amazing floors.  Then they’ll be blown away that you did it yourself! So with my step-by-step guide, you’ll learn how to stain concrete in no time!

Can you use a paint roller to apply concrete stain?

Yes, you can use a paint roller to apply concrete stain. A paint roller is an effective tool for applying concrete stain because it allows you to cover a large area quickly and evenly.

That being said, you may find the backpack sprayer method that I used is better from the standpoint of not showing any lines. With the roller, you’ll want to be extra careful to roll it on somewhat randomly so it doesn’t show any lines.

But if using a roller, before you begin, make sure the surface is clean and dry.

If there are any cracks or holes in the concrete, fill them with a concrete patching compound. Once the surface is prepped, mix the concrete stain according to the manufacturer’s instructions.

Pour some of the stain onto a paint tray and dip your roller into it. Start at one end of the area and roll in long, even strokes until you reach the other end. Make sure to overlap each stroke slightly so that you don’t miss any spots. If necessary, add more stain to your tray as you go along.

Once you have finished applying the stain, let it dry completely before walking on it or adding furniture or other items back onto it. Depending on the type of concrete stain you are using, this could take anywhere from several hours to several days.

To ensure that your concrete has an even finish, consider using a brush or sponge after rolling on the stain for more precise coverage in hard-to-reach areas or corners. This will also help ensure that all areas are properly covered with an even coat of stain.

What kind of acid is used in concrete stain?

Concrete stain is a type of acid-based coloring agent used to add color and texture to concrete surfaces.

The most common type of acid used in concrete stain is hydrochloric acid, also known as muriatic acid. This type of acid is highly corrosive and should be handled with extreme caution.

Hydrochloric acid reacts with the calcium carbonate in the concrete, creating a chemical reaction that causes the color to change. It can be used to create a variety of colors, from light pastels to deep, rich hues. The amount of hydrochloric acid used will depend on the desired color intensity and the porosity of the concrete surface.

In addition to hydrochloric acid, other types of acids may be used in concrete staining.

Phosphoric acid is often used for lighter colors, while oxalic acid can be used for darker shades. Acetic acid is also sometimes used for more subtle effects. Each type of acid has its own unique properties and should be chosen based on the desired outcome.

When using any type of acidic solution on concrete surfaces, it’s important to take safety precautions such as wearing protective clothing and goggles and using gloves when handling the solution. Additionally, it’s important to follow all manufacturer instructions carefully when applying any type of concrete stain or sealer.

This will help ensure that you get the best results possible without damaging your concrete surface or putting yourself at risk for injury or illness.

How do concrete dyes differ from acid-based concrete stains?

Concrete dyes and acid-based concrete stains are two popular methods of coloring concrete surfaces. While they both produce beautiful results, there are some key differences between the two.

Concrete dyes are a type of colorant that is applied to the surface of the concrete.

They penetrate the surface and bond with the cement, creating a permanent color that won’t fade or chip away over time. Dyes come in a variety of different colors and can be used to create intricate designs or patterns on the concrete surface.

The downside to using dyes is that they require more skill to apply than acid-based stains, as they must be applied evenly and consistently for best results.

Acid-based concrete stains are a type of chemical reaction that occurs when an acid is applied to the surface of the concrete.

The acid reacts with minerals in the cement, creating a unique color pattern on the surface.

Acid-based stains come in a variety of colors and can be used to create interesting designs or patterns on the concrete surface. The downside to using acid-based stains is that they require more skill to apply than dyes, as they must be applied evenly and consistently for best results.

Additionally, acid-based stains can cause damage to surrounding materials if not properly handled or applied correctly.

Overall, both concrete dyes and acid-based stains can produce beautiful results when used correctly. However, it’s important to understand how each one works before deciding which one is right for your project.

Dyes offer more vibrant colors but require more skill to apply while acid-based stains offer unique patterns but require more caution when handling the chemicals.

Ready to jump right in? Get my recommended list of tools from Amazon Prime (click to see the list on my site) to get going on your project!

Getting your floor ready to stain

how to stain interior concrete floors Middle Class Dad removing the old laminate flooring

The first step in my project was to pull up the old Pergo-type floorboards.  In most cases, these are not nailed or glued and just “float” on the concrete with a moisture barrier (fancy word for plastic sheet) in between.

The floorboards just snap together.

If you’re not trying to save the boards just pry one up with a flathead screwdriver or pry bar and then the rest will come up pretty easily after.

I did my stained concrete floors in our kitchen and dining area (about 30’x15′) over the course of about 5 days (before and after work); right before our trip to Disneyland a few years ago.

That way I knew the floors would have plenty of time to dry while we were gone and we wouldn’t have to breathe any of the fumes (which turned out to be not that bad).

Ready to jump right in? Get my recommended list of tools from Amazon Prime (click to see the list on my site) to get going on your project!

Care and cleaning of your new stained concrete floors

One of the many benefits of a stained concrete floor is how easy it is to keep clean.

A Swiffer or push broom work great and once fully dried and cured almost any cleaner will work without damaging the floor itself. However, if you applied a coat of wax, some harsh chemicals can strip that.

Thus, Cleaning Stained Concrete Floors with Vinegar (click to read my article) is a great way to go.

Final thoughts

Staining concrete floors isn’t that hard. But it can be tedious, and time-consuming.

But it can be a fun project for the DIY enthusiast, something to be proud of after the fact, and can save you a lot of money over hiring a professional.

Just make sure you get the right equipment, take your time, do the prep work before diving in, follow the instructions and avoid the urge to rush or skip steps.

Do plan on doing acid staining as the chemical reaction in that process will yield vastly superior results to water-based concrete stains which don’t soak into the pores of the concrete.

And if you have new concrete floors, always wait at least 30 days before using acid-based concrete stains.

Ready to start planning your floor staining project? Make sure and get my FREE cheat sheet to help guide you!

Not ready to start your project now? Pin it to your favorite Pinterest Boards so you’ll have this when you need it!

Do you have any questions about how to stain interior concrete floors? 

If you’ve done it, do you have any tips on stained concrete floors?

Of course in the day and age we, unfortunately, live in, I have to add the following: I am not a general contractor or professional concrete stainer.  This post walks you through the steps I took in staining concrete in my house.  Your results could differ.  Please consult a professional if you need to.

Middle Class Dad is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to As an Amazon Associate, I may earn a small commission from qualifying purchases if you click to Amazon from my site and choose to make a purchase. This is no way increases the cost to you.

Photo credits (that aren’t mine or which require attribution):
Metallic Marble Concrete Staining – Augusta GA- Augusta GA by Decorative Concrete Kingdom is licensed under CC BY 2.0

Jeff Campbell

Glenn Beagle

Tuesday 29th of October 2019

Did your research cover using two different colors of acid stain on the same surface? Thinking this would give is a marble like appearance.

Jeff Campbell

Tuesday 29th of October 2019

Hi Glenn

No, I didn't. I did add acrylic paint to my acrylic sealer after I did the staining which deepened the color (trying to match the stain color). Concrete stain (acid at least) is a little unpredictable, so it's hard to say how the finished product would look. I do think applying 1 coat with 1 color, allowing it to dry, and then applying a 2nd coat of the other color would work better than mixing the 2 colors together.

If you try it, let me know! I'd love to see how it turns out.

Thanks for commenting!


Yvonne Valles

Monday 20th of August 2018

What is used to fill the tacktrip holes and other holes and chunks missing?

New Middle Class Dad

Tuesday 21st of August 2018

Hi Yvonne

Great question! Because I had laminate flooring that wasn't glued or nailed down, I didn't have that problem in my house.

First, make sure you don't use a product containing silicone (or any caulk-type product). It will just be way too obvious and won't stain even close to the regular concrete.

In researching, it looks like you can go one of 2 routes.

One is to stain the floors as is and then fill in the divots afterward with a clear epoxy. Because the epoxy is clear the stain color will just show right through. You'd do this before applying sealer and wax. If you're going this route, from what I've read, this product from Concrete Ressurection should work well.

The other route would be to use a concrete patch product before you stain. You would vacuum the holes really well to ensure no loose bits are in there and then fill (be careful not to overfill) and then once it's fully hardened, you'd continue with stain, seal, and wax. For that route, I would honestly buy 2 or 3 different ones and apply a small amount onto a piece of wood. Let them dry and then apply a little stain and see if one matches your floor color better than the others. Frawa makes one that looks like it would work well.

The trick will be finding one that's a fast set as if you use actual concrete you'll need to let it cure 30 days before staining.

In either case, I think the patches will be noticeable, but often the defects in concrete are part of the appeal.

Send me a picture when it's done. I'd like to see how it works out.