The question duplicates the following GitHub issue: https://github.com/surveyjs/survey-library/issues/6456.
Solution:
To use built-in icons, include them to HTML content as follows: <svg><use href="#icon-name"></use></svg>
.
<svg><use href="#icon-v2check_24x24"></use></svg>
For instance, the following code references the V2Check_24x24 icon in a completedHtml
property:
export const json = {
completedHtml:
'<svg><use href="#icon-v2check_24x24"></use></svg><p><h4>Thank you! Your response has been submitted. Please allow 20 business days for screening. <br />You will receive an email once your application has been processed.</h4></p>',
elements: [
...
]
};

Built-in cons are available as a part of the currently applied theme. For instance, icons available with the Default V2 theme are placed in the following folder: https://github.com/surveyjs/survey-library/tree/0be44aef43c62f5790bd0c7d56e63b57aa780687/src/images.
You can also review how icons are referenced in defaultV2Css.ts.
You can also use custom icons.
To register a custom SVG icon and use it in a survey, use the SvgRegistry.registerIconFromSvg
method. For instance, the following code registers a custom SVG icon with the icon-test
id.
import { SvgRegistry } from "survey-core";
var svg =
'<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"><path d="M11.35 1.34999L10.65 0.649994L6.05002 5.24999L1.35002 0.649994L0.650024 1.34999L5.25002 6.04999L0.650024 10.65L1.35002 11.35L6.05002 6.74999L10.65 11.35L11.35 10.65L6.75002 6.04999L11.35 1.34999Z"/></svg>';
SvgRegistry.registerIconFromSvg("icon-test", svg);
View Demo