We suggest you archive the leads instead of deleting them becuase that way you will know if you import those same lead in the future. (archived leads are matched against other leads during duplicate detection).
If you absolutely need to delete leads, the only way you can do so is by isolating them using migration and it's best to do so is in bulk. To do this, you just have to filter by some field using conditions, or filter by state or category.
Note there are other options to isolate those leads. You can choose who they were claimed by or only choose the unclaimed or overdue ones. You can also filter by data in the leads.
After deciding how you are going to filter, you have to choose the option for "move to". This will give you the option to send these leads to an existing list or to a new one.
If you want to send them to a new list, you will then have to choose the name. Finally there are a few more options to consider regarding the category.
If you can isolate the leads you want to delete, you can move them to a new list, and then delete that list.
If you can't migrate the specific leads you want to delete, then you'll have to run through the list and archive the ones you want deleted, and then you can delete them using the method described above. Please note that, when archiving them, you need to do so with a specific category, so you can use this method.
Here is a short video of the process:
If you're interested in updating and not deleting the leads, click here.
To read more about migrations, click here.