473 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

CKEditor - WYSIWYG HTML editor

This module will allow Drupal to replace textarea fields with the CKEditor - a visual HTML editor, usually called a WYSIWYG editor. This HTML text editor brings many of the powerful WYSIWYG editing functions of known desktop editors like Word to the web. It's very fast and doesn't require any kind of installation on the client computer.

What is CKEditor?

CKEditor is the far superior successor of FCKeditor. The editor has been rebranded and completely rewritten. It is now much faster (the code has been optimized), loads faster (the number of files has been reduced, so the browser will perform less HTTP requests) and developers friendly.

Useful links



Allows the use of client-side editors to edit content. It simplifies the installation and integration of the editor of your choice. This module replaces all other editor integration modules. No other Drupal module is required.

The Wysiwyg module supports any kind of client-side editor including HTML editors (a.k.a. WYSIWYG), pseudo-editors (buttons to insert markup into a textarea), or even Flash-based applications. The editor library must be downloaded separately. Various editors are supported (see below).

The Wysiwyg module also provides an abstraction layer for other Drupal modules to integrate with any editor. This means that other Drupal modules can expose content-editing functionality, regardless of which editor you have installed.

Discussions happen in the Wysiwyg group, and in IRC #drupal-wysiwyg.



Screenshot of the media browser

The Media module provides an extensible framework for managing files and multimedia assets, regardless of whether they are hosted on your own site or a 3rd party site - it is commonly referred to as a 'file browser to the internet'.

Media is a drop-in replacement for the Drupal core upload field with a unified User Interface where editors and administrators can upload, manage, and reuse files and multimedia assets. Any files uploaded before Media was enabled will automatically take advantage of the many of the features it comes with.

Media's aim is to solve Drupal's long standing media handling problem.




Insert is a utility that makes inserting images and links to files into text areas or WYSIWYGs much easier. It adds a simple JavaScript-based button to FileField and ImageField widgets. When used with ImageField and ImageCache, images may be inserted into text areas with a specific ImageCache preset.

This module was previously known as FileField Insert.


  • Support for all major WYSIWYG editors, including tinyMCE, CKeditor, the WYSIWYG project (the recommended approach), and plain text areas.
  • Insert images using ImageCache presets
  • Maximum width setting for inserted images (for combined use with the Image Resize Filter module)
  • Per-field insert configuration

See this module in action in the excellent FileField Insert / Image Resize Filter screencast by MustardSeed Media.


  • CCK (2.5 or higher! D6 only.)

Recommended projects


External Links

External Link Icon

External Links is a small module used to differentiate between internal and external links. Using jQuery, it will find all external links on a page and add an external icon indicating it will take you offsite or a mail icon for mailto: links.

Configuration options:


CKEditor Link - A plugin to easily create links to Drupal internal paths

CKEditor Link - Use autocomplete to easily create a link to a Drupal node!

This module is an extension to the CKEditor module.

It also supports CKEditor installed through the Wysiwyg module.

This module allows to easily create links to Drupal internal paths through CKEditor's Link button and dialog.

It is composed of 2 parts:

  1. A client-side CKEditor plugin that adds features to CKEditor's default Link plugin.
  2. A server-side input format filter that converts the raw paths added through the plugin into aliased and, if applicable, language prefixed URLs.



Pathologic is an input filter which can correct paths in links and images in your Drupal content in situations which would otherwise cause them to “break;” for example, if the URL of the site changes, or the content was moved to a different server. Pathologic can also solve the problem of missing images and broken links in your site’s RSS feeds. See more example use cases on the documentation page.



Linkit 7.x-3.x UI.

Linkit provides an easy interface for internal and external linking with editors and fields by using an autocomplete field. Linkit links to nodes, users, managed files, terms and have basic support for all entities by default.
Linkit has three major advantages over traditional linking

  1. The user does not have to copy or remember a URL.
  2. It is a sustainable solution for internal linking.
  3. It has a user friendy UI.


  • Basic support for all entities.
  • Token support (for better descriptions on search results in Linkit).
  • Provides a link button, similar to the ordinary link button in most editors.
  • Can be attached to fields.
  • The button opens a dialog with an autocomplete field for searching content.
  • Support for IMCE.
  • Settings are handled by profiles, similar to the profiles of the WYSIWYG module. Thus, it is possible to customize the behavior of Linkit in detail.
  • Works with and without Pathologic.
  • Internal absolute URL:s converts automatically into Drupal paths, very simple for users who are used to copy-pasting.


Image Resize Filter

The easiest end-user solution for resizing inline images.

This filter makes it easy to resize images, especially when combined with a WYSIWYG editor such as tinyMCE, CKeditor etc. Users never have to worry about scaling image sizes again, just insert an image and set it's height and width properties in HTML (this is done automatically by WYSIWYG editors) and the image is resized on output to match the HTML.


  • Automatically resizes both local and (optionally) remote images.
  • Optionally create a link to full size images from the resized inline versions.
  • Prevents inline "hot linking" of images from other sites by storing them locally.
  • Adds height and width attributes to inline images when your users are too lazy to add them.

Image Resize Filter demo and configuration options by Lullabot.
Demo combining FileField Insert with Image Resize Filter by MustardSeed Media.

Webkit/Chrome/Safari Users:
The "resize handles" typically shown in WYSIWYGs do NOT work in Webkit-based browsers (which includes Safari and Chrome) due to a shortcoming in the implementation of these browsers. See https://bugs.webkit.org/show_bug.cgi?id=12250 and this issue for discussion: #1102294: Webkit-based browsers (Safari/Chrome) do not support resize handles.


Embedded Media Field

Maintainers: aaron (Aaron Winborn) and Alex UA (Alex Urevick-Ackelsberg)

This extensible module will create fields for content types that can be used to display video, image, and audio files from various third party providers. When entering the content, the user will simply paste the URL or embed code from the third party, and the module will automatically determine which content provider is being used. When displaying the content, the proper embedding format will be used.

The module is only an engine, and requires a supported module to function. These include 'Embedded Image Field', 'Embedded Video Field' and 'Embedded Audio Field'. These modules are included in the contrib folder of the module, so they can be easily activated from the module administration page.

Please note: As of emfield 2.x, provider files for these modules are no longer included with the main emfield module, and must be downloaded separately- please see the list of projects providing provider files below.

Modules extending Embedded Media Field

The following modules work in conjunction with this project, largely to expose media providers (you'll need at least one of these to make the module useful):

Media: 8Tracks
Media: Archive



The WYSIWYG Filter module provides an input filter that allows site administrators configure which HTML elements, attributes and style properties are allowed. It also may add rel="nofollow" to posted links based on filter options. It can do so with no additional parsing on user input. That is, it may apply nofollow rules while parsing HTML elements and attributes.


simplehtmldom API

The module is a bridge between simplehtmldom PHP library and Drupal.
It provides powerful API for HTML parsing. Also, it works fine with broken markup.



Shortcodes are actually macros to be used in the text of contents. These macros change the text of the content and format the given part through the theme engine. This module defines few basic shortcodes only. (New ones will come.)

Shortcode is an API that handles the shortcode macros for text formats. You can add your own shortcode tags via this API. All tags are themeable and new tags can be provided by other modules.

Initial work is based on the Wordpress Shortcode API but was reworked for Drupal. You can nest tags (within same tags too), no need for special recursion handling.

Macros come with this module

Shortcode basic tags module

  • [quote] Replace the given text formatted like as a quote.
  • [img] Show an image.
  • [highlight] Insert a span with highlight css class around the text.
  • [button] Insert a link formatted like as a button.
  • [dropcap] Replace the given text formatted like as a dropcap.
  • [item] Insert div or span around the text with some css classes.'
  • [clear] Insert a float-clearing div for a proper layout.
  • [link] Makes an aliased link to the given path.


SpamSpan filter

The SpamSpan module obfuscates email addresses to help prevent spambots from collecting them. It implements the technique at the SpamSpan website (a German version is also available). The problem with most email address obfuscators is that they rely upon JavaScript being enabled on the client side. This makes the technique inaccessible to people with screen readers. SpamSpan however will produce clickable links if JavaScript is enabled, and will show the email address as example [at] example [dot] com if the browser does not support JavaScript or if JavaScript is disabled.

This technique is unlikely to be absolutely foolproof. It is possible in theory for a determined spambot to harvest addresses from your site no matter how you disguise them. But research suggests that the by far the great majority of spambots do not bother to attempt to collect addresses which have been hidden using JavaScript. Indeed, most spambots cannot currently read JavaScript at all.

Here are a links to the results of a few experiments into the efficacy of JavaScript obfuscation. Let me know if you know of any more.

http://www.cdt.org/speech/spam/030319spamreport.shtml (2003)



This module provides web content providers with the means to earn revenue from visitors by displaying ads from Google AdSense™ advertising service on their sites.

Why should you use it:

  • AdSense for Search and Drupal are incompatible as both use the 'q' query for different purposes. Using this module, you can display the search results in your site.
  • Protects you from displaying more ads in a page than the maximum allowed by Google (check current disabled)
  • The module provides easy-to-use ad blocks.
  • You can easily disable the ads for certain roles.
  • Provides simple controls for troubleshooting the ads before going live with the site.
  • If Google changes some minor details in the script, your code can be updated site-wide just by upgrading the module.
  • If you want to do ad revenue sharing, there's really no other option

Why shouldn't you use it:

  • Strictly speaking, this module is not in compliance with the AdSense TOS, since you're not exactly copy-pasting the script code in your site. No one has ever reported being banned because of using this module, and Google knows of its existence, and seem not to mind.



Popup login form

The popup suite allows builders to popup tooltip-like text, nodes, blocks, menus, forms, views and php-generated content.

It includes the following modules:


Image Assist


Image Assist allows users to upload and insert images inline into content. It automatically generates an "Add image" link under fields of your choice. Clicking the link opens an image browser, displaying all images that have been uploaded via the Image module.

Images can be filtered by ownership or taxonomy terms (categories). New images can be uploaded through Image Assist's dialog. Clicking on an image displays a properties page where attributes such as caption, size, and alignment can be set before the image is inserted into the post.

Image Assist is especially useful when using a client-side editor/WYSIWYG editor. Currently, it can be used with TinyMCE via Wysiwyg API - support for other editors is right on the way.


Wysiwyg API template plugin

In TinyMCE, CK Editor and FCK Editor, there is a template function, which allows a user to select a HTML template from a drop-down and insert it into the WYSIWYG text-area. This module supports those features for use with the WYSIWYG API.

Note for CKEditor 4.x users


Collapse Text

As this is an input filter, it will only work where input filters are applied.

This input filter must come after the HTML filter, and should go after the convert line breaks filter.

To make a section of text collapsible, surround it with [collapse] and [/collapse]. You may nest the [collapse] tags to have collapsible sections within collapsible sections.

To make the text collapsed initially, start with [collapse collapsed]. As a shortcut, you may use [collapsed], as this will be expanded into [collapse collapsed].

You may supply a title to be displayed in two ways. There is a title= option for the [collapse] tag, or the module will find the first header tag and use that instead. New in 6.x-2.5, you can control the default title used if one isn't specified.

Also supported is a class= option, which allows you to add CSS classes.

Older versions had a slightly different specification, which is still supported.

Read the filter tips for more information.


Custom Tokens

It gives the user the ability to create custom tokens for specific replacements that can improve other modules relying on the Drupal 7 token API or, for Drupal 6, the Token module.

Versions 7.x-1.x and previours relied on PHP evaluation to build custom tokens.

The new 7.x-2.x relies on input filters. While still allowing for PHP tokens through the D7 core PHP filter module, administrators can permit only HTML or plain text custom tokens.


One Click Upload

Easy way upload files in BUEditor, CKEditor and textarea's.


  • Upload images and insert into editor image code
  • Upload files and insert into editor link code
  • Multi-upload files and images
  • Drag & Drop files to button and textarea (in 2.x) (video 1, video 2)
  • Attach uploaded files to field (in 2.x)
  • Integration with image styles
  • Editable html templates

Video screencast (in WebM format) with work of module.
Описание модуля на русском языке.

Similar modules


CKEditor SWF - Enhanced Flash embedding plugin

CKEditor SWF version 6.x-2.0 introduces FLV and MP3 media files easy embedding.

This module is an extension to the CKEditor module.

It also supports CKEditor installed through the Wysiwyg module.

It seriously enhances CKEditor's outdated Flash plugin:
with CKEditor SWF, inserting a SWF animation, a FLV video or a MP3 audio file becomes as easy as inserting an image file: just pick up a SWF, FLV or MP3 file from IMCE (or CKFinder) and that's it!

It is composed of 2 parts:

  1. A client-side CKEditor plugin that adds many features and fixes to CKEditor's default Flash plugin:
    • Allows SWF animation, FLV video and MP3 audio files easy embedding
    • Retrieves width and height from the SWF or the FLV file
    • Adds a lock/unlock button to maintain aspect ratio while changing width or height
    • Adds a button to reset width/height to the SWF file's default dimensions
    • Allows width/height percentage values
    • Adds a textfield in Properties tab to edit the base parameter
    • Adds a Flashvars tab to edit the flashvars parameter
    • Displays a real preview
    • Fixes various bugs of the default plugin
    • New (experimental, in dev)! Allows to directly paste a YouTube video URL into CKEditor SWF to embed it!
  2. A server-side input format filter that converts the Flash embedding markup generated by CKEditor into a standards compliant one:
    By default, CKEditor generates a <object><embed></embed></object> markup, which is not standards compliant.
    CKEditor SWF Filter converts it into the correct <object><object></object></object> markup.

    If you prefer, CKEditor SWF Filter can also use the SWFObject JavaScript library to embed the Flash content.


Wysiwyg SpellCheck

(Note: in 6.x-1.3: TinyMCE spellchecker plugin location changed to /sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/spellchecker)

(Note: in 6.x-1.2 Documentation updated: correct path for download is wysiwyg_spellcheck/tinymce/spellchecker/)

Wysiwyg SpellCheck module is a plugin for wysiwyg editor that enables TinyMCE spellchecker plugin.

Currently supports only Drupal-6.x/7.x and TinyMCE. 6.x-1.x-dev branch supports CKEditor with ASpell.

Requires Wysiwyg API.



Drickr icon

Media management made easy.

The Flickr module embeds media hosted on Flickr.com in many possible ways on your site.

  • In a node, block or field.
  • As single photos, albums or slideshows.
  • Supports both Colorbox and Lightbox.
  • Album titles and photo captions contain the information available on Flickr, optionally also including author, location and date details.
  • Grab Flickr media also dynamically from the node author's Flickr account and/or based on node taxonomy terms, a date field or a geofield/location.

Keep It Simple & Straightforward

Why install and configure a bunch of modules for image management and geo tagging? The Flickr module makes life easier, both for you (site builder) and your client (site editor). Use Flickr.com to upload / organize photos and this module to embed them on your site. Flickr is already the trusted source for millions of embedded photos on the web.


Code Filter

This module provides a simple text format (input filter) that handles <?php ?> and <code></code> tags so that users can post code without having to worry about manually escaping < and > characters with &lt; and &gt;

For PHP code, this module also adds syntax highlighting. For example:

print "Hello, world!";

This module is used on drupal.org.

This module has a handbook page; you can refer to it for more detailed documentation.