You mirror half a floor plan, every line comes out right, and the text ends up back to front. That is the most common question about the mirror command in AutoCAD, and the answer is shorter than most people expect: one system variable.
This article measures that variable at both of its values on AutoCAD 2027 at the Institute, then reads the text object's own data to see what the program really does. For the full set of editing commands, see the AutoCAD for Construction course.
Three prompts and a mirror line
Before anything else, the mirrtext system variable is worth naming, because it is the single reason this command has a reputation for mangling annotation.
The alias is MI. The prompts, copied verbatim from the 2027 release.
Specify first point of mirror line:
Specify second point of mirror line:
Erase source objects? [Yes/No] <N>:
The first two define the axis with two points. The third asks whether to delete the original, and the default in angle brackets is N, which keeps it.
The thing people trip over is that the mirror line is not an object in the drawing. It is two points you pick, so turning on ortho mode with F8 and picking two points is the quickest way to get an axis that is genuinely vertical or genuinely horizontal.
There is no need for the axis to touch the objects being reflected, and no need for it to lie inside them. Two points anywhere define an infinite line, and the reflection is taken about that line. Picking the two points along an existing edge with an object snap is the usual way to mirror a detail about one of its own sides.
Reversed text: the culprit is called MIRRTEXT
The variable that decides this is MIRRTEXT. The Autodesk MIRRTEXT page describes the two values in two phrases: 0 "Retains text direction", 1 "Mirrors the text".
Here is a point that several tutorials get wrong, including ones ranking at the top of search. They state that the default value is 1, and that this is why text comes out reversed.
| Source | What it says the default is |
|---|---|
| Several tutorial sites | 1 |
| Autodesk's page for the 2027 release | Initial value 0 |
| What our machine measured | 0 |
So why does anyone still meet reversed text? Because the variable is saved per drawing, not per machine. An old file, or a template drawn up by somebody else, can carry the value 1, and it travels with that file forever. Checking the variable inside the drawing you have open is the first thing to do.
Setting it back to 0, and fixing text already reversed
The cure is three keystrokes: type MIRRTEXT, enter 0, then run the mirror as usual.
There is no need to redo the part you already mirrored wrongly. Select just the reversed text, mirror it once more about a vertical axis running through it, and it reads the right way round again.
What the program actually does to the text
This is the part we have not seen measured anywhere. We placed a line of text reading ABC 123 at height 400, put a vertical mirror line exactly 3100 from its insertion point, and then read the data of the new text object.
MIRRTEXT | Insertion point of the copy | Flag 71 on the object |
|---|---|---|
| 0 | 3552 | 0 |
| 1 | 6200 | 2 |
Both numbers can be checked by hand. The original insertion point is at 0 and the axis at 3100, so its true reflection is 6200 — which is exactly the lower row. Flag 71 set to 2 is the flag meaning the text is drawn backwards.
The upper row is a different mechanism altogether. The program does not put the insertion point at the reflected position; it moves it to 3552, and the difference, 6200 minus 3552, is 2648 — exactly the width of the line of text. In other words, at 0 the program keeps the text direction and moves the insertion point to the other end of the text block, so the line still occupies the reflected position while reading forwards.
Multiline text works differently again, which we measured separately.
MIRRTEXT | Insertion point | X direction vector |
|---|---|---|
| 0 | 6200 | 1 and 0 |
| 1 | 6200 | −1 and 0 |
This time the insertion point is identical at both values, and what changes is the direction vector. That distinction matters if you write LISP that processes text after mirroring: the two object types need two different checks. Telling the two kinds of text apart is covered in our article on text in AutoCAD.
Three everyday jobs for the mirror command in AutoCAD
One: building the other half of a symmetrical plan. Draw one half, mirror about the centre line, and answer N at the last prompt to keep the original half. This saves most on housing and on symmetrical members such as strip footings.
Two: flipping a detail the right way round. You insert a block and only then notice it faces the wrong way. Mirror it about a vertical axis running through it and the job is done, with no hunting for another block. The operation only changes the insertion's scale and never touches the block definition, which we measure below; how blocks work is covered in our article on blocks in AutoCAD.
Three: making a pair of doors that open opposite ways. One door leaf and its mirrored copy is the only way to get two leaves swinging in opposite directions while staying identical in size.
Laying out many copies in rows and columns is a different command, covered in our article on the array command.
A fourth use is worth a line of its own, because it saves the most drawing time of all. Where a structure is symmetrical about two axes, draw one quarter, mirror it once, then mirror the resulting half. Two operations give you the whole, and every dimension stays exactly consistent because nothing was drawn twice.
Mirroring a block: what actually changes
This matters because nearly every structural drawing is full of blocks. We built an L-shaped block, inserted it, mirrored it about a vertical axis, and read the copy's data.
| Measurement | Result |
|---|---|
| Object type | INSERT |
| Block name | unchanged |
| X scale | −1 |
| Y scale | 1 |
| Rotation | 0 |
The whole reflection lives in a single minus sign. No block definition is duplicated; only the insertion carries a negative X scale.
That has two practical consequences. First, the file does not grow, because no new block definition is created. Second, any LISP filtering blocks by a positive scale will silently miss exactly the mirrored ones, so such comparisons should use absolute values.
When you do not want to keep the original
The last prompt defaults to N, so pressing Enter keeps the original. To discard it, type Y and press Enter.
Answering Y turns this into a flip rather than a copy, which is how you turn a wrongly-facing detail around without leaving anything extra behind in the drawing.
One small trap worth knowing: if you answer Y and then realise you needed the original, do not redraw it. One undo brings it back, because the whole operation is a single step in the command history.
The habit we teach at the Institute is to answer the last prompt deliberately rather than pressing Enter out of reflex. Keeping the source when you meant to flip leaves two copies lying exactly on top of each other, and that is a problem nobody notices until a quantity takeoff comes back with every item counted twice.
Three things often repeated that are not true
| Often repeated | What we measured on the 2027 release |
|---|---|
MIRRTEXT defaults to 1, which is why text reverses | Autodesk gives the initial value as 0, and our machine measured 0 |
| Reversed text has to be deleted and retyped | Mirroring just that text once more fixes it |
Set MIRRTEXT once and every drawing is fixed | The variable is saved per drawing, so old files keep their old value |
Frequently asked questions
What is the alias?
MI. Then select objects, pick two points for the mirror line, and answer whether to erase the source.
How do I fix text that came out reversed?
Type MIRRTEXT, enter 0, then mirror just the reversed text once more.
Why does it happen on my machine and not on someone else's?
Because the variable is saved per drawing, not per machine. An old template can carry the value 1.
At value 0, does the text stay put or move?
We measured it, and the program shifts the insertion point to the other end of the text block, by exactly the width of the line, so the text still occupies the reflected position and reads forwards.
How do I flip rather than copy?
At the last prompt, type Y instead of pressing Enter. The original is deleted and you are left with one flipped copy.