Skip to main content
How-To Guide

How to Delete a Block in AutoCAD

Published September 2026  |  74mph Solutions

"Deleting a block" means two different things in AutoCAD, and mixing them up is why blocks seem to come back. A block reference is a copy you can see in the drawing. The block definition is the master stored inside the DWG. Erasing every copy leaves the definition behind, so the block still appears in the Insert list. Purging the definition only works once every copy is gone.

Quick answer

  1. Select every copy of the block (right-click one, choose Select Similar) and press Delete.
  2. Type PURGE, expand Blocks, tick the block, and click Purge Checked Items.
  3. Command-line version: -PURGE, then B, the block name, and N.

On this page: Delete one block · Delete every copy · Remove the definition · Why a block won't purge · Delete objects inside a block · LISP: erase and purge in one step · Delete a block from many drawings

1. Delete one block from the drawing

Click the block and press Delete, or type ERASE, select it, and press Enter. That removes one reference. The definition stays in the drawing, which is fine if you plan to insert the block again.

Not sure what the block is called? Select it and look at the Name field in the Properties palette (Ctrl+1), or type LIST and read the name from the text window.

2. Delete every copy of a block

Select Similar (fastest)

  1. Click one copy of the block.
  2. Right-click and choose Select Similar (or type SELECTSIMILAR).
  3. Press Delete.

By default Select Similar also matches the layer, so copies on other layers are skipped. If some remain, type SELECTSIMILAR, choose SEttings, and leave only Name ticked.

Quick Select (more control)

  1. Type QSELECT.
  2. Set Object type to Block Reference, Properties to Name, Operator to = Equals, and pick the block in Value.
  3. Click OK, then press Delete.

Both methods only see the current space. If the block is also placed on layout tabs, switch to each layout and repeat, or use the LISP routine below, which reaches every layout at once.

3. Remove the block definition (PURGE)

Once no copies are left, purge the definition so the block disappears from the Insert list and the file gets smaller.

  1. Type PURGE.
  2. Under Purgeable Items, expand Blocks and tick the block.
  3. Click Purge Checked Items.

To do the same from the command line (and in scripts), use the hyphen version:

-PURGE
B            <- Blocks
OLDLOGO      <- block name (wildcards like OLD* work)
N            <- don't ask to verify each one

Purging all unused blocks at once is -PURGE, B, *, N. For a full cleanup of layers, styles and linetypes too, see How to Batch Purge AutoCAD Drawings.

4. Why a block won't purge

If the block is missing from the purgeable list, AutoCAD still sees at least one reference to it. In AutoCAD 2020 and later, open PURGE, click Find Non-Purgeable Items, and select the block to see the reason. The usual suspects:

Run the purge twice: removing one block can free up the blocks nested inside it.

5. Delete objects inside a block (not the block itself)

To remove a line, logo or attribute from inside a block so every copy updates:

  1. Double-click the block, or type BEDIT and pick its name.
  2. Select the objects to remove and press Delete.
  3. Click Close Block Editor and choose Save the changes.

6. LISP: erase every copy and purge in one step

This routine erases every reference to a block on every layout, including modified dynamic block copies, then purges the definition. Save it as DELBLOCK.lsp, load it with APPLOAD, and type DELBLOCK.

(defun c:DELBLOCK (/ name ss i e n)
  (vl-load-com)
  (setq name (strcase (getstring T "\nBlock name to delete: ")))
  (setq n 0)
  ;; "`*U*" also catches anonymous copies of dynamic blocks
  (if (setq ss (ssget "_X" (list '(0 . "INSERT") (cons 2 (strcat name ",`*U*")))))
    (repeat (setq i (sslength ss))
      (setq e (ssname ss (setq i (1- i))))
      (if (= (strcase (vla-get-EffectiveName (vlax-ename->vla-object e))) name)
        (progn (entdel e) (setq n (1+ n))))))
  (princ (strcat "\nErased " (itoa n) " copies of " name "."))
  (command "_.-PURGE" "_B" name "_N")
  (princ))

Unlock layers first if the block might sit on a locked layer. The routine needs full AutoCAD: AutoCAD LT 2024 and later run AutoLISP, but not the vla- functions used here to read dynamic block names.

7. Delete a block from hundreds of drawings at once

An old logo in every title block, a retired detail, a stale date stamp: when the block lives in a whole project set, doing the steps above drawing by drawing takes days. Hurricane runs the same script on every DWG in a folder. It opens each drawing, runs the script, saves, closes, and moves on.

With DELBLOCK.lsp in a folder on AutoCAD's support path, the whole script is three lines:

(load "DELBLOCK.lsp")
DELBLOCK
OLDLOGO

Add your drawings to Hurricane, paste the script, and click Run. Hurricane logs every file, so you can see which drawings had the block and which did not. There is an older version of this routine, DELBLK, in our FAQ on deleting a block from all drawings.

Remove a Block from Every Drawing in One Run

Hurricane runs your script across hundreds of DWG files, unattended.

Download Free Trial Buy Now

Related: How to Batch Purge AutoCAD Drawings  |  Update Title Blocks Across 1,000+ Drawings  |  AutoCAD Commands List  |  AutoCAD System Variables List