//change all "IDofEditor" to the id of your editor; I haven't figured out how to find it less explicitly //insert text CKEDITOR . instances . IDofEditor . insertText ( 'some text here' ); //insert a link (or other tags, modify as needed) //this example uses the selected text for the link text //if removing getSelection() and just inserting it all, you MUST have some link text or it will NOT insert; also if the user selected text first anyway it will change it to "NaN". //the \x22 represents a double quote, thus easy to use within an html onclick //getNative() gets the text, otherwise you get an object CKEDITOR . instances . IDofEditor . insertHtml ( '<a href=\x22my_link\x22>' + CKEDITOR . instances . IDofEditor . getSelection (). getNative () + '</a>' ); //you could also prompt the user for the link text (and title and link or anything else); very fast entry! CKEDITOR . instances . IDofEditor . insertHtml ( ...