EchoCad

DWG drawings in QGIS,
still readable

CAD layers, colours, line types, line widths, hatch patterns and text come across. Everything runs on your machine — drawings are never uploaded anywhere.

An architectural floor plan imported by EchoCad and shown in QGIS, with walls, doors and grid lines in their original colours and line types.
An architectural plan brought across as it is. Wall, door and grid-line colours and line types survive, as do the title block, north arrow and location inset. 23 CAD layers became 23 QGIS layers, 3,517 features.

What Pro adds Install the free edition

There are two editions

The free edition makes a drawing visible in QGIS — one at a time, with no limit on how many. Pro turns a whole folder of them into data you can query and analyse. The part that reads the drawing is the same code in both — nothing is held back to make the free edition worse.

FeatureFreePro
Import, colours, line types, hatches, textyesyes
How many drawings per runone, by handa whole folder
Block attributes (ATTRIB) as queryable fieldsyes
Mapping profiles — merge many CAD layers into one feature classyes
Batch conversion with a per-file CSV reportyes
Runs from the Processing toolbox and modelsyes
Drawing text turned into shape attributesyes
Open polylines closed into polygonsyes
Georeferencing from two reference pointsyes
Elevations (Z) keptyes
Converter bundled — works the moment you install ityou obtain itbundled

Free — the drawing, visible in QGIS

Plugins → EchoCad → Import DWG opens a window. Pick the drawing, check the coordinate system, import. That is one drawing done. There is no limit on how many drawings, and no time limit.

The EchoCad import window with fields for the drawing, coordinate system and GeoPackage output.
The import window. Pick the drawing, check the coordinate system, done. This shot is Pro — the free edition has no mapping profile row.

The free edition needs the converter (LibreDWG dwg2dxf) obtained and pointed at once. It is GPL-3, so it cannot ship inside the free edition. How to get it is in the documentation.

A CAD base map of roads, streams and boundaries imported into QGIS, with line colours and weights distinguishing the classes.
Not only building drawings. A base map of roads, streams and administrative boundaries comes across the same way — 7 layers, 18,961 features. That is all the free edition.

Pro — the drawing, as data

Not geometry conversion — moving the drawing’s meaning into a GIS schema. That is the part QGIS’s own importer has not done for two years.

The free edition already shows you as many drawings as you like. What Pro changes is what happens next: it pulls the values written in the drawing out into fields, folds inconsistent layer names into your own schema, turns lines into polygons and drawing coordinates into real ones, and repeats all of it across a whole folder. Set it up once and next month’s delivery runs the same way. Every number below was measured on real drawings.

1. Block attributes (ATTRIB) as queryable fields

Most of the information in a drawing is not in the lines. It is in the block attributes: manhole numbers, pipe diameters, asset codes, parcel numbers. Neither the free edition nor QGIS’s own importer brings these across. The drawing opens; the attributes are gone.

Pro builds one block-reference point layer per CAD layer and spreads every attribute tag found there into a field. The original tag name is kept as the QGIS field alias, so a normalised field name loses nothing.

The QGIS attribute table showing columns cad_layer, block_name, FLAECHE, RAUMBEZ and RNR2 with room areas and names.
A real QGIS attribute table. 85 room-stamp blocks in the drawing became 85 rows with fields — sum the areas, classify by room name, join to your register on the room number.

2. Mapping profiles — CAD layers onto your schema

A hundred drawings arrive with a hundred layer namings. A-WALL-EXST, A-WALL-NEW and A-WALL-2F are all the same building wall, but QGIS receives three layers.

A profile is a list of glob-pattern rules. The first match wins, so order is priority. A layer that matches nothing keeps its original name and is listed as unmatched, so you know at once whether something was left out. One JSON file, so a team can share it and keep it in git.

{
  "version": 1,
  "name": "example",
  "rules": [
    { "match": "A-WALL-*", "layer_name": "building_wall", "geometry": "polygon" },
    { "match": "*-TEXT",   "layer_name": "annotation",    "geometry": "point"   }
  ],
  "default": { "layer_name": "{cad_layer}", "geometry": "auto" }
}
The QGIS layer panel after importing without a mapping profile: 23 layers with raw CAD names.
Before — 23 layers with the raw CAD names
The QGIS layer panel after applying a mapping profile: 10 layers grouped into building, services, rooms and drawing furniture.
After — seven rules turned them into 10

3. Batch folder conversion with a per-file report

Drawings arrive by the folder, not one at a time. The free edition does one per run: open the window, pick the file, pick the coordinate system, import, repeat. Fine for one drawing, unusable for eighty.

Below is a real report from one run over a folder of nine drawings. One of them was an R13 file. The run did not stop there, and what failed and why is on the record.

filestatusnotelayersfeaturessec
facility-2011-dm-a04.dwgok427,1728.8
cafm-plan-de.dwgokDropped 1 features with broken coordinates233,5173.9
fire-station.dwgok133,6212.2
floorplan-elevation.dwgok191,1114.0
building-a-floor0.dwgok183272.3
site-survey-3.dwgunsupportedFormat AC1012. Only R14 and newer are supported.000.0
tourist-home.dwgokDropped 5 features with broken coordinates3417,4966.6

Features dropped for broken coordinates are counted too. Drop them silently and nobody can explain the missing count later.

4. Runs from the Processing toolbox

Pro registers two algorithms under Processing Toolbox → EchoCad → DWGImport DWG and Batch import DWG. You can call them without opening a window at all.

import processing

processing.run("echocad:batchimportdwg", {
    "INPUT_FOLDER":    "D:/deliveries/2026-03/dwg",
    "RECURSIVE":       True,
    "CRS":             "EPSG:5186",
    "PROFILE":         "D:/office/office-schema.json",
    "EXTRACT_ATTRIBS": True,
    "OUTPUT":          "D:/work/gpkg",
    "REPORT":          "D:/work/report.csv",
})

So it drops into the model builder, and you can chain a buffer, a join and an export straight after the conversion and run the lot in one go. If deliveries arrive in the same shape every month, this is where the time actually goes. The free edition registers no algorithms at all — everything there goes through the import window, by hand.

5. Drawing text turned into shape attributes

Site drawings write their information as plain text, not as block attributes. Across our sample, nine real working drawings held zero block attributes and 3,558 texts. Received as free-floating labels, none of that can be queried or joined.

Pro finds one owner shape for each text and writes it into a label field. A text inside a polygon belongs to that polygon; outside one it goes to the nearest shape within a tolerance. The tolerance is worked out from the drawing’s own size — units and scale differ per drawing, so a fixed value would attach everything in one drawing and nothing in the next.

Measured on nine real drawings — 4,340 of 5,640 texts (77%) found a shape. Piping isometrics run around 99%; one site plan came in at 32%, which is correct because title-block and legend text should not attach to anything.

6. Open polylines closed into polygons

In CAD it is enough that a shape looks closed, so the last vertex is often a few millimetres off the first. GIS then receives a line, and you cannot compute an area or ask what is inside it. In our sample, 528 of 531 polylines in the real drawings were open.

Give a tolerance and anything within it is closed into a polygon. The original lines are left in place — a wrong tolerance would otherwise delete linework you needed, so the polygons are added on top and you can adjust and re-run. It is never on by default: closing a pipe run or a dimension line produces garbage.

Measured on nine real drawings (tolerance 1.0) — 1,986 polygons created. Because polygons are built before text is attached, the text hit rate rose from 74% to 77%.

7. Georeferencing from two reference points

Drawing near the origin is the CAD norm: 17 of 20 public sample drawings were in local coordinates. Dropped into QGIS as they are, they land nowhere near the site.

Give two points read off the drawing and their real-world coordinates, and Pro solves shift, rotation and scale in one step. Scale is applied equally to x and y: allowing shear would let a single mistyped digit skew the whole drawing silently. A wrong entry is better refused than quietly distorted.

Measured on a sample drawing — reference point error 0.000000000, width preserved at 14,382.7736, all 11,831 features moved.

8. Elevations (Z) kept

In drawings such as piping isometrics, height is half the information. Flattened to 2D you can no longer tell which level a run passes through.

Turn the option on and the layers come across as 2.5D with the height on every vertex. Where 2D features are mixed in, they are given a height of zero and kept in the same layer — better than splitting one CAD layer into two.

Measured on nine real drawings — all nine came through as 3D layers, with 1,757 to 27,330 distinct elevations in the piping isometrics. Previously every one of them was flattened to zero.

9. Converter bundled

Pro carries the Windows and macOS converters. Install it and it works. On macOS the execute permission and the quarantine flag are handled for you, so there is no reason to open a terminal. The setup step the free edition goes through once does not exist in Pro.

The free edition converter setup window, with buttons to open the download page, copy the instructions and browse for the path.
The free edition goes through this window once. Pro does not have this step.

Pro installs as a separate plugin (echocad_pro), so it never collides with the free edition and updates never overwrite each other. It never needs the internet, so it works on an isolated network. More screens and examples are on the features page.

Price

$499
perpetual licence · one office, up to 10 people

The first year of updates is included. After that, updates renew at $149 a year. It is not a subscription — the version you have keeps working whether or not you renew.

Check the free edition on your own drawings first. See whether this tool reads what you actually work with — how the layers come apart, whether the text survives, whether the hatches are rebuilt. If you then need block attributes, mapping profiles and batch conversion on top of that, that is Pro.

Buy Pro Documentation

What you need

The interface follows your QGIS language. Ten are included: English, German, Spanish, French, Italian, Japanese, Korean, Polish, Portuguese and Chinese.